System and method of performing computer assisted stimulation programming (casp) with a non-zero starting value customized to a patient

ABSTRACT

A non-zero starting value for ramping up a stimulation parameter for an electrical stimulation to be delivered to a patient is determined. The non-zero starting value is customized to the patient. A pulse generator is caused to generate the electrical stimulation, which is delivered to the patient via an implanted lead. The pulse generator is caused to ramp up, from the determined non-zero starting value and toward a predefined maximum limit value, the stimulation parameter for a plurality of electrode contacts on the lead. Feedback is received from the patient in response to the ramping up. The feedback is received via an electronic patient feedback device. Based on the ramping up and the received feedback from the patient, a perception threshold is determined for each of the plurality of electrode contacts. The perception threshold is a value of the stimulation parameter that corresponds to the patient feeling the electrical stimulation.

PRIORITY DATA

The present application is a utility application of provisional U.S.Patent Application No. 62/173,118, filed on Jun. 9, 2015, entitled“ADVANCED METHODS AND APPARATUSES FOR PERFORMING PELVIC NERVESTIMULATION,” and a utility application of provisional U.S. PatentApplication No. 62/181,827, filed on Jun. 19, 2015, entitled “ADVANCEDMETHODS AND APPARATUSES FOR PERFORMING PELVIC NERVE STIMULATION,” thedisclosures of each which are hereby incorporated by reference in theirrespective entireties.

BACKGROUND

The invention relates to a stimulation system, such as a spinal cordstimulation (SCS) system, having a tool for programming an electricalstimulation generator, such as an implantable pulse generator (IPG), ofthe system. The invention also relates to a method for developing aprotocol for the stimulation system.

A spinal cord stimulator is a device used to provide electricalstimulation to the spinal cord or spinal nerve neurons for managingpain. The stimulator includes an implanted or external pulse generatorand an implanted medical electrical lead having one or more electrodesat a distal location thereof. The pulse generator provides thestimulation through the electrodes via a body portion and connector ofthe lead. Spinal cord stimulation programming is defined as thediscovery of the stimulation electrodes and parameters that provide thebest possible pain relief (or paresthesia) for the patient using one ormore implanted leads and its attached IPG. The programming is typicallyachieved by selecting individual electrodes and adjusting thestimulation parameters, such as the shape of the stimulation waveform,amplitude of current in mA (or amplitude of voltage in V), pulse widthin microseconds, frequency in Hz, and anodic or cathodic stimulation.

With newer medical electrical leads having an increased number ofelectrodes, the electrode and parameter combination increasesexponentially. This results in a healthcare professional, such as aclinician, requiring a substantial amount of time for establishing amanually created protocol for providing therapeutic spinal cordstimulation. Therefore, a manual approach for creating a protocol is notan optimal solution for the SCS system.

SUMMARY

Numerous embodiments of the invention provide a method and system forprogramming an SCS system with a substantially reduced time requirementand increased accuracy. More specifically, in numerous embodiments, asweep process is used with the electrodes of an implanted medical leadto determine the proper SCS program (also referred to herein as an SCSprotocol) for providing the best possible pain relieve for the patient.

In one embodiment, the present disclosure provides a programming devicefor establishing a protocol for a plurality of electrodes in one or moremedical leads coupled to an electrical stimulation generator. Theprogramming device is adapted to be in communication with the electricalstimulation generator and a patient feedback device. The programmingdevice includes, a first communication port for communication with theelectrical stimulation generator, a second communication port forcommunication with the patient feedback device, a user interface; and acontroller coupled to the first communication port, the secondcommunication port, and the user interface. The controller is configuredto create the protocol for providing electrical stimulation to treat thepatient.

In another embodiment, the present disclosure provides a system forproviding therapeutic electrical stimuli to a patient. The systemincludes one or more implantable medical leads having a plurality ofelectrodes, an electrical stimulation generator coupled to the lead, apatient feedback device, and a programming device in communication withthe electrical stimulation generator and in communication with thepatient feedback device. The programming device configured to initiate afirst automated and systematic sweep through the plurality of electrodesto determine a respective perception threshold associated with eachelectrode, receive from the patient feedback device whether the patientprovided feedback while performing the first automated and systematicsweep, initiate a second automated and systematic sweep through theplurality of electrodes to determine an electrode that is associatedwith a pain area of the patient, receive from the patient feedbackdevice whether the patient provided feedback while performing the secondautomated and systematic sweep, and develop the protocol for providingtherapeutic electrical stimulation to treat the patient based on thesecond automated and systematic sweep and the detected patient feedback.The second automated and systematic sweep uses the respective perceptionthresholds from the first automated and systematic sweep.

In another embodiment, the present disclosure provides a patientfeedback device for providing feedback to a programming device of anelectrical stimulation system providing therapeutic stimulation. Thepatient feedback device includes a sensor supported by the ergonomichousing. The sensor receives a physical response from the patient andprovides an electrical signal in response thereto. The patient feedbackdevice further includes a controller supported by the housing andcoupled to the sensor and a communication port supported by the housingand coupled to the controller. The controller receives the electricalsignal and initiates a communication signal in response thereto. Thecommunication port receives the communication signal and transmits thecommunication signal to the programming device.

In another embodiment, the present disclosure provides an electronicdevice for performing a computer-assisted stimulation programming of animplantable medical device. The electronic device includes a memorystorage component configured to store programming code. The electronicdevice also includes a computer processor configured to execute theprogramming code. When the programming code is executed, stimulationcurrent is ramped up for a plurality of contacts on a lead that isconfigured to be implanted inside, or attached to, a patient. Patientfeedback is received while the stimulation current is being ramped up.The patient feedback indicates that the patient is beginning to feelstimulation. In response to receiving the patient feedback: Amplitude ofthe stimulation current that resulted in the patient feedback isrecorded. The plurality of contacts is divided into a plurality ofgroups. The contacts are activated one group at a time. The respectiveamplitudes of the stimulation currents of the contacts in each group areset to the recorded amplitude. For each activated group of contacts, itis determined whether the patient is able to feel stimulation while saidgroup of contacts is being activated. In response to a determinationthat a target group of contacts causes the patient to feel stimulation,the target group of contacts are divided into a plurality of sub-groups.Thereafter, the dividing, the activating, the determining, and thesub-dividing are repeated one or more times until one or more contactsthat caused the patient to feel stimulation are identified. The recordedamplitude is assigned as a perception threshold for the identified oneor more contacts.

In another embodiment, the present disclosure provides a medical system.The medical system includes a lead configured to deliver electricalstimulation to a patient via one or more of a plurality of contactslocated on the lead. The medical system includes a pulse generator towhich the lead is coupled. The pulse generator is configured to generatethe electrical stimulation. The medical system includes an electronicdevice coupled to the pulse generator. The electronic device isconfigured to program the pulse generator to generate the electricalstimulation. The electronic device includes a memory storage componentconfigured to store programming code. The electronic device alsoincludes a computer processor configured to execute the programmingcode. When the programming code is executed, stimulation current isramped up for a plurality of contacts on a lead that is configured to beimplanted inside, or attached to, a patient. Patient feedback isreceived while the stimulation current is being ramped up. The patientfeedback indicates that the patient is beginning to feel stimulation. Inresponse to receiving the patient feedback: Amplitude of the stimulationcurrent that resulted in the patient feedback is recorded. The pluralityof contacts is divided into a plurality of groups. The contacts areactivated one group at a time. The respective amplitudes of thestimulation currents of the contacts in each group are set to therecorded amplitude. For each activated group of contacts, it isdetermined whether the patient is able to feel stimulation while saidgroup of contacts is being activated. In response to a determinationthat a target group of contacts causes the patient to feel stimulation,the target group of contacts are divided into a plurality of sub-groups.Thereafter, the dividing, the activating, the determining, and thesub-dividing are repeated one or more times until one or more contactsthat caused the patient to feel stimulation are identified. The recordedamplitude is assigned as a perception threshold for the identified oneor more contacts.

In another embodiment, the present disclosure provides a method ofperforming a computer-assisted stimulation programming of an implantablemedical device. A stimulation current is ramped up for a plurality ofcontacts on a lead that is configured to be implanted inside, orattached to, a patient. Patient feedback is received while thestimulation current is being ramped up. The patient feedback indicatesthat the patient is beginning to feel stimulation. In response toreceiving the patient feedback: Amplitude of the stimulation currentthat resulted in the patient feedback is recorded. The plurality ofcontacts is divided into a plurality of groups. The contacts areactivated one group at a time. The respective amplitudes of thestimulation currents of the contacts in each group are set to therecorded amplitude. For each activated group of contacts, it isdetermined whether the patient is able to feel stimulation while saidgroup of contacts is being activated. In response to a determinationthat a target group of contacts causes the patient to feel stimulation,the target group of contacts are divided into a plurality of sub-groups.Thereafter, the dividing, the activating, the determining, and thesub-dividing are repeated one or more times until one or more contactsthat caused the patient to feel stimulation are identified. The recordedamplitude is assigned as a perception threshold for the identified oneor more contacts.

In another embodiment, the present disclosure involves an electronicdevice for performing a computer-assisted stimulation programming of animplantable medical device. The electronic device comprises: a memorystorage component configured to store programming code; and a computerprocessor configured to execute the programming code to perform thefollowing tasks: determining a non-zero starting value for ramping up astimulation parameter for an electrical stimulation to be delivered to apatient, the non-zero starting value being customized to the patient;causing a pulse generator to generate the electrical stimulation to bedelivered to the patient via a lead implanted inside the patient,wherein the causing the pulse generator to generate the electricalstimulation comprises causing the pulse generator to ramp up, from thedetermined non-zero starting value and toward a predefined maximum limitvalue, the stimulation parameter for a plurality of electrode contactson the lead; receiving feedback from the patient in response to theramping up of the stimulation parameter, the feedback being received atleast in part via an electronic patient feedback device; anddetermining, based on the ramping up and the received feedback from thepatient, a perception threshold for each of the plurality of electrodecontacts, the perception threshold being a value of the stimulationparameter that corresponds to the patient feeling the electricalstimulation.

In another embodiment, the present disclosure involves a medical system.The medical system comprises: a lead configured to deliver electricalstimulation to a patient via one or more of a plurality of contactslocated on the lead; a pulse generator to which the lead is coupled,wherein the pulse generator is configured to generate the electricalstimulation; and an electronic device telecommunicatively coupled to thepulse generator, wherein the electronic device is configured to programthe pulse generator to generate the electrical stimulation, and whereinthe electronic device includes: a memory storage component configured tostore computer instructions; and a processor component configured toexecute the computer instructions. The computer instructions, whenexecuted by the processor component, perform the following tasks:determining a non-zero starting value for ramping up a stimulationparameter for an electrical stimulation to be delivered to a patient,the non-zero starting value being customized to the patient; causing apulse generator to generate the electrical stimulation to be deliveredto the patient via a lead implanted inside the patient, wherein thecausing the pulse generator to generate the electrical stimulationcomprises causing the pulse generator to ramp up, from the determinednon-zero starting value and toward a predefined maximum limit value, thestimulation parameter for a plurality of electrode contacts on the lead;receiving feedback from the patient in response to the ramping up of thestimulation parameter; and determining, based on the ramping up and thereceived feedback from the patient, a perception threshold for each ofthe plurality of electrode contacts, the perception threshold being avalue of the stimulation parameter that corresponds to the patientfeeling the electrical stimulation.

In another embodiment, the present disclosure involves a method forperforming a computer-assisted stimulation programming of an implantablemedical device, comprising: determining a non-zero starting value forramping up a stimulation parameter for an electrical stimulation to bedelivered to a patient, the non-zero starting value being customized tothe patient; causing a pulse generator to generate the electricalstimulation to be delivered to the patient via a lead implanted insidethe patient, wherein the causing the pulse generator to generate theelectrical stimulation comprises causing the pulse generator to ramp up,from the determined non-zero starting value and toward a predefinedmaximum limit value, the stimulation parameter for a plurality ofelectrode contacts on the lead; receiving feedback from the patient inresponse to the ramping up of the stimulation parameter, the feedbackbeing received via an electronic patient feedback device; anddetermining, based on the ramping up and the received feedback from thepatient, a perception threshold for each of the plurality of electrodecontacts, the perception threshold being a value of the stimulationparameter that corresponds to the patient feeling the electricalstimulation.

Other aspects of the invention will become apparent by consideration ofthe detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects of the present disclosure are best understood from the followingdetailed description when read with the accompanying figures. It isemphasized that, in accordance with the standard practice in theindustry, various features are not drawn to scale. In fact, thedimensions of the various features may be arbitrarily increased orreduced for clarity of discussion. In the figures, elements having thesame designation have the same or similar functions.

FIG. 1 is a partial perspective view of a patient using a spinal cordstimulation system.

FIG. 2 is a perspective view of an in-line lead for use in the spinalcord stimulation system of FIG. 1.

FIG. 3 is a perspective view of a paddle lead for use in the spinal cordstimulation system of FIG. 1.

FIG. 4 is a block diagram of a patient-feedback device for use in thespinal cord stimulation system of FIG. 1.

FIG. 5 is a side view of a patient-feedback device inserted in the mouthof a patient

FIG. 6 is a side view of a patient-feedback device with optical sensing.

FIG. 7 is a side view of a patient-feedback device activated by a footof a patient.

FIG. 8 is a block diagram of an implantable pulse generator for use inthe spinal cord stimulation system of FIG. 1.

FIG. 9 is a block diagram of a clinician programmer for use in thespinal cord stimulation system of FIG. 1.

FIG. 10 is a flow diagram of a patient performing an initial visit witha clinician.

FIG. 11 is a flow diagram of a patient undergoing an initial visitfollowed by trial surgery procedure.

FIG. 12 is a flow diagram of the manual programming of a lead.

FIG. 13 is a flow diagram of the computer assisted programming of alead.

FIG. 14 is a flow diagram of a patient performing a post trialprogramming session.

FIG. 15 is a flow diagram of a patient undergoing a permanent surgeryprocedure.

FIG. 16 is a flow diagram of an exemplary computer assisted stimulationprogramming process for use with the spinal cord stimulation system ofFIG. 1.

FIG. 17 is a flow diagram of an exemplary process for determiningimpedance values associated with each electrode.

FIGS. 18A and 18B are a flow diagram of an exemplary process fordetermining perception threshold values associated with each electrode.

FIG. 19 is a flow diagram of an exemplary process for determining astimulation electrode sub-array reaching a pain area of the patient.

FIGS. 20, 31 and 35 are flowcharts illustrating various methods forperforming computer assisted stimulation programming according tovarious embodiments of the present disclosure.

FIGS. 21-25 are simplified diagrammatic illustrations of an example leadthat contains a plurality of contacts according to various embodimentsof the present disclosure.

FIGS. 26-30 and 32 are example screenshots of a user interface 1200 forvisually representing different aspects of the CASP and alternative CASPprocesses according to the various embodiments of the presentdisclosure.

FIGS. 33A, 33B, and 33C are various graphs illustrating the stimulationpulse amplitude, evoked potential amplitude, and evoked potential V.S.stimulation pulse amplitude according to embodiments of the presentdisclosure.

FIG. 34 illustrates a simplified closed-loop system of using sensingelectrodes to measure evoked potential according to embodiments of thepresent disclosure.

DETAILED DESCRIPTION

It is to be understood that the following disclosure provides manydifferent embodiments, or examples, for implementing different featuresof the invention. Specific examples of components and arrangements aredescribed below to simplify the present disclosure. These are, ofcourse, merely examples and are not intended to be limiting. Variousfeatures may be arbitrarily drawn in different scales for simplicity andclarity.

Before any embodiments of the invention are explained in detail, it isto be understood that the invention is not limited in its application tothe details of construction and the arrangement of components set forthin the following description or illustrated in the following drawings.The invention is capable of other embodiments and of being practiced orof being carried out in various ways.

The invention herein relates to an electrical stimulation system forproviding stimulation to target tissue of a patient. The systemdescribed in detail below is a spinal cord stimulation (SCS) system forproviding electrical pulses to the neurons of the spinal cord of apatient. However, many aspects of the invention are not limited tospinal cord stimulation. The electrical stimulation system may providestimulation to other body portions including a muscle or muscle group,nerves, the brain, etc.

FIG. 1 shows a spinal cord stimulation system 100 in use with a patient105. The system includes one or more implanted medical electrical leads110 connected to an implantable pulse generator (IPG) 115. The leads 110include an electrode array 120 at a distal end of the base lead cable.The electrode array 120 includes one or more electrical stimulationelectrodes (may also be referred as electrode contacts or simplyelectrodes) and is placed adjacent to the dura of the spine 125 using ananchor. The spinal column includes the C1-C7 (cervical), T1-T12(thoracic), L1-L5 (lumbar) and S1-S6 (sacral) vertebrae and theelectrode array(s) 120 may be positioned anywhere along the spine 125 todeliver the intended therapeutic effects of spinal cord electricalstimulation in a desired region of the spine. The electrodes (discussedfurther in FIGS. 2 and 3) of the electrode arrays 120 promote electricalstimulation to the neurons of the spine based on electrical signalsgenerated by the IPG 115. In one construction, the electrical signalsare regulated current pulses that are rectangular in shape. However, theelectrical signals can be other types of signals, including other typesof pulses (e.g., regulated voltage pulses), and other shapes of pulses(e.g., trapezoidal, sinusoidal). The stimulation is provided from theIPG 115 to the electrodes via the base lead, which is connected to theIPG 115 with the proximal end of the base lead. The body of the lead cantraverse through the body of the patient via the spinal column and fromthe spinal column through the body of the patient to the implant site ofthe IPG 115.

The IPG 115 generates the electrical signals through a multiplicity ofelectrodes (e.g., four, eight, sixteen, twenty-four electrodes). The IPG115 can control six aspects of electrical stimulation based on aprotocol (may also be referred to as a program): on/off, amplitude(e.g., current or voltage), frequency, pulse width, pulse shape, andpolarity (anodic or cathodic stimulation). The stimulation mostdiscussed herein is a regulated (or constant) current that provides asquare wave, cathodic stimulation with a variable amplitude, frequency,and/or pulse width. Typically, the IPG 115 is implanted in a surgicallymade pocket (e.g., in the abdomen) of the patient. However, the pulsegenerator can also be an external pulse generator (EPG).

The IPG 115 communicates with any one of a clinician programmer (CP)130, a patient programmer and charger (PPC) 135, and a pocket (or fob)programmer (PP) 140. As discussed in further detail below, the CP 130interacts with the IPG 115 to develop a protocol for stimulating thepatient. The developing of the protocol is assisted with the use of apatient-feedback device (PFD) 145. Once a protocol is developed, the PPC135 or the PP 140 can activate, deactivate, or perform limited changesto the programming parameters of the protocol. The protocol may bestored at the IPG 115 or can be communicated and stored at the PPC 135or the PP 140. The PPC 135 is also used for charging the IPG 115.

For the construction described herein, the IPG 115 includes arechargeable, multichannel, radio-frequency (RF) programmable pulsegenerator housed in a metallic (e.g., titanium) case or housing. Themetallic case is sometimes referred to as the “can” and may act eitheras a cathode or an anode or floating to the electrical contacts.

Referring now to FIGS. 2 and 3, the figures show two exemplary leads110A and 110B, respectively, that can be used in the SCS system. A firstcommon type of lead 110 is the “in-line” lead shown in FIG. 2. Anin-line lead 110A includes individual electrodes 150A along the lengthof a flexible cable 155A. A second common type of lead 110 is the“paddle” lead shown in FIG. 3. In general, the paddle lead 110B isshaped with a wide platform 160B on which a variety of electrode 150Bconfigurations are situated. For example, the paddle lead 110B shown inFIG. 3 has two columns of four rectangular shaped electrodes 150B. Apaddle lead typically contains contacts on one side only, but is notrestricted to individual electrodes on either side, or electrodesperforating the carrier material.

For both leads shown in FIGS. 2 and 3, a flexible cable 155A or 155B hasrespective small wires for the electrodes 150A or 150B. The wires areembedded within the cable 155A or 155B and carry the electricalstimulation from the IPG 115 to the electrodes 150A or 150B.

It is envisioned that other types of leads 110 and electrode arrays 120can be used with the invention. Also, the number of electrodes 150 andhow the electrodes 150 are arranged in the electrode array 120 can varyfrom the examples discussed herein.

The leads shown in FIGS. 2 and 3 are multiple channel leads. Here, a“channel” is defined as a specified electrode 150, or group ofelectrodes 150, that receives a specified pattern or sequence ofelectrical stimuli. For simplicity, this description will focus on eachelectrode 150 and the IPG's 115 metallic housing providing a respectivechannel. When more than one channel is available, each channel may beprogrammed to provide its own stimulus to its defined electrode.

There are many instances when it is advantageous to have multiplechannels for stimulation. For example, different pain locations (e.g.,upper extremities, lower extremities) of the patient may requiredifferent stimuli. Further, some patients may exhibit conditions bettersuited to “horizontal” stimulation paths, while other patients mayexhibit conditions better suited to “vertical” stimulation paths.Therefore, multiple electrodes positioned to provide multiple channelscan cover more tissue/neuron area, and thereby provide betterstimulation protocol flexibility to treat the patient.

It is also envisioned that the number of leads 110 can vary. Forexample, one, two, or four leads 110 can be connected to the IPG 115.The electrode arrays 120 of the leads 110, respectively, can be disposedin different vertical locations on the spine 125 with respect to avertical patient 105, can be disposed horizontally (or “side-by-side”)on the spine 125 with respect to a vertical patient 105, or somecombination thereof.

In alternative to the IPG 115, the leads 110 can receive electricalstimuli from an external pulse generator (EPG) (also referred to a trialstimulator) through one or more percutaneous lead extensions. An EPG maybe used during a trial period.

For the specific construction and operation described herein, a singlelead 110 having a two-by-four electrode paddle (as shown in FIG. 3) issecured to the thoracic portion of the spine 125. An IPG 115 having ametallic housing is disposed within the patient 105. The housing acts asanother electrode in this contemplated SCS system 100. Thus, thisarrangement results in nine electrodes total. Also, thespecifically-discussed system includes nine channels formed by the eightelectrodes of the electrode array 120, respectively, and the metallichousing of the IPG 115. However, it contemplated that a different numberof leads, electrodes, and channels fall within the scope of theinvention.

Referring back to FIG. 1, a user provides feedback to the CP 130 with aPFD 145 while the CP 130 develops the protocol for the IPG 115. In FIG.1, the PFD 145 is an ergonomic handheld device having a sensor (alsoreferred to as input) 165, a controller, and a communications output175. The sensor 165 can take the form of a discrete switch or can takethe form of a continuously variable input, such as through the use of astrain gauge. It is envisioned that the use of a continuously variableinput can provide magnitude information, thereby providing feedbackinformation.

FIG. 4 provides a block diagram of an exemplary handheld PFD 145 used inthe SCS system 100. The PFD 145 includes two inputs 900 and 905 incommunication with the housing of the device 145 and one input 910internal to the housing. One of the external inputs 900 is a binaryON/OFF switch, preferably activated by the patient's thumb, to allow thepatient 105 to immediately deactivate stimulation. The second input 905includes a force or displacement sensor sensing the pressure or forceexerted by the patient's hand. The sensed parameter can be eitherisotonic (constant force, measuring the distance traversed) or isometric(measuring the force, proportional to pressure applied by patient 105).The resulting signal from the sensor 905 is analog and, therefore, thesignal is conditioned, amplified, and passed to a microcontroller via ananalog-to-digital converter.

The internal input 910 for the PFD 145 of FIG. 4 is a motion sensor. Thesensor 910, upon detecting motion, initiates activation of the PFD 145.The device 145 stays active until movement is not detected by the sensor910 for a time period. Power is provided by an internal battery 920 thatcan be replaceable and/or rechargeable.

The processing of the inputs from the sensors 900 and 905 take place ina controller, such as a microcontroller 925. The microcontroller 925includes a suitable programmable portion 930 (e.g., a microprocessor ora digital signal processor), a memory 935, and a bus 940 or othercommunication lines. Output data of the microcontroller 925 is sent viaa Bluetooth bi-direction radio communication portion 945 to the CP 130.The Bluetooth portion 945 includes a Bluetooth communication interface,an antenna switch, and a related antenna, all of which allows wirelesscommunication following the Bluetooth Special Interest Group standard.Other outputs may include indicators (such as light-emitting diodes) forcommunicating stimulation activity 950, sensor activation 955, anddevice power 960, and a speaker and related circuitry 965 for audiblecommunication.

As discussed further below, the patient 105 provides feedback to the SCSsystem 100, and specifically the CP 130, while the CP 130 establishesthe protocol for the IPG 115. The patient 105 can activate the PFD 145when the patient 105 feels various stimuli, such as paresthesia or pain.Paresthesia refers to a comfortable tingly or buzzing sensation thatmasks the pain.

FIGS. 5-7 provide other means for receiving patient feedback. Morespecifically, FIG. 5 shows a mouth-piece 180 that is inserted into themouth of the patient. The user provides feedback by biting themouthpiece. FIG. 6 shows an optical sensor 185 (such as a camera andrelated image processing software) that detects visual cues from apatient. An example visual cue may be the blinking of the patient'seyes. FIG. 7 shows a foot pedal 190 that receives input by the patientmanipulating a switch with his foot. It is also envisioned that thepatient may provide feedback directly through the touch screen or hardbuttons on the CP 130.

As discussed earlier, it should be understood that aspects of the SCSsystem 110 can be applied to other types of electrical stimulationsystems. That is, other electrical stimulation systems provideelectrical stimuli to other types of target tissues. Similar to the SCSsystem 110, these other electrical stimulation systems include one ormore medical electrical leads having electrodes, a stimulation generatorcoupled to the one or more medical electrical leads, and a clinicianprogrammer for establishing a protocol with the stimulation generator.

FIG. 8 shows a block diagram of one construction of the IPG 115. The IPG115 includes a printed circuit board (“PCB”) that is populated with aplurality of electrical and electronic components that provide power,operational control, and protection to the IPG 115. With reference toFIG. 8, the IPG 115 includes a communication portion 200 having atransceiver 205, a matching network 210, and antenna 212. Thecommunication portion 200 receives power from a power ASIC (discussedbelow), and communicates information to/from the microcontroller 215 anda device (e.g., the CP 130) external to the IPG 115. For example, theIPG 115 can provide bi-direction radio communication capabilities,including Medical Implant Communication Service (MICS) bi-directionradio communication following the MICS specification.

The IPG 115, as previously discussed, provides stimuli to electrodes 150of an implanted medical electrical lead 110. As shown in FIG. 8, Nelectrodes 150 are connected to the IPG 115. In addition, the enclosureor housing 220 of the IPG 115 can act as an electrode. The stimuli areprovided by a stimulation portion 225 in response to commands from themicrocontroller 215. The stimulation portion 225 includes a stimulationapplication specific integrated circuit (ASIC) 230 and circuitryincluding blocking capacitors and an over-voltage protection circuit. Asis well known, an ASIC is an integrated circuit customized for aparticular use, rather than for general purpose use. ASICs often includeprocessors, memory blocks including ROM, RAM, EEPROM, Flash, etc. Thestimulation ASIC 230 can include a processor, memory, and firmware forstoring preset pulses and protocols that can be selected via themicrocontroller 215. The providing of the pulses to the electrodes 150is controlled through the use of a waveform generator and amplitudemultiplier of the stimulation ASIC 230, and the blocking capacitors andovervoltage protection circuitry of the stimulation portion 225, as isknown in the art. The stimulation portion 225 of the IPG 115 receivespower from the power ASIC (discussed below). The stimulation ASIC 230also provides signals to the microcontroller 215. More specifically, thestimulation ASIC 230 can provide impedance values for the channelsassociated with the electrodes 150, and also communicate calibrationinformation with the microcontroller 215 during calibration of the IPG115.

The IPG 115 also includes a power supply portion 240. The power supplyportion includes a rechargeable battery 245, fuse 250, power ASIC 255,recharge coil 260, rectifier 263 and data modulation circuit 265. Therechargeable battery 245 provides a power source for the power supplyportion 240. The recharge coil 260 receives a wireless signal from thePPC 135. The wireless signal includes an energy that is converted andconditioned to a power signal by the rectifier 263. The power signal isprovided to the rechargeable battery 245 via the power ASIC 255. Thepower ASIC 255 manages the power for the IPG 115. The power ASIC 255provides one or more voltages to the other electrical and electroniccircuits of the IPG 155. The data modulation circuit 265 controls thecharging process.

The IPG also includes a section 270 that includes a thermistor 275, amagnetic sensor 280, and an accelerometer 284. The thermistor 275 sensesa temperature. The magnetic sensor 280 provides a “hard” switch uponsensing a magnet for a defined period. The signal from the magneticsensor 280 can provide an override for the IPG 115 if a fault isoccurring with the IPG 115 and is not responding to other controllers.The accelerometer 284 senses movement or acceleration of the IPG.

The IPG 115 is shown in FIG. 8 as having a microcontroller 215.Generally speaking, the microcontroller 215 is a controller forcontrolling the IPG 115. The microcontroller 215 includes a suitableprogrammable portion 285 (e.g., a microprocessor or a digital signalprocessor), a memory 290, and a bus or other communication lines. Anexemplary microcontroller capable of being used with the IPG is a modelMSP430 ultra-low power, mixed signal processor by Texas Instruments.More specifically, the MSP430 mixed signal processor has internal RAMand flash memories, an internal clock, and peripheral interfacecapabilities. Further information regarding the MSP 430 mixed signalprocessor can be found in, for example, the “MSP430G2x32, MSP430G2x02MIXED SIGNAL MICROCONTROLLER” data sheet; dated December 2010, publishedby Texas Instruments at www.ti.com; the content of the data sheet beingincorporated herein by reference.

The IPG 115 includes memory, which can be internal to the control device(such as memory 290), external to the control device (such as serialmemory 295), or a combination of both. Exemplary memory include aread-only memory (“ROM”), a random access memory (“RAM”), anelectrically erasable programmable read-only memory (“EEPROM”), a flashmemory, a hard disk, or another suitable magnetic, optical, physical, orelectronic memory device. The programmable portion 285 executes softwarethat is capable of being stored in the RAM (e.g., during execution), theROM (e.g., on a generally permanent basis), or another non-transitorycomputer readable medium such as another memory or a disc.

Software included in the implementation of the IPG 115 is stored in thememory 290. The software includes, for example, firmware, one or moreapplications, program data, one or more program modules, and otherexecutable instructions. The programmable portion 285 is configured toretrieve from memory and execute, among other things, instructionsrelated to the control processes and methods described below for the IPG115. For example, the programmable portion 285 is configured to executeinstructions retrieved from the memory 290 for sweeping the electrodes150 in response to a signal from the CP 130.

The PCB also includes a plurality of additional passive and activecomponents such as resistors, capacitors, inductors, integratedcircuits, and amplifiers. These components are arranged and connected toprovide a plurality of electrical functions to the PCB including, amongother things, filtering, signal conditioning, or voltage regulation, asis commonly known.

FIG. 9 shows a block diagram of one construction of the CP 130. The CP130 includes a printed circuit board (“PCB”) that is populated with aplurality of electrical and electronic components that provide power,operational control, and protection to the CP 130. With reference toFIG. 9, the CP includes a processor 300. The processor 300 is acontroller for controlling the CP 130 and, indirectly, the IPG 115 asdiscussed further below. In one construction, the processor 300 is anapplications processor model i.MX515 available from FreescaleSemiconductor. More specifically, the i.MX515 applications processor hasinternal instruction and data cashes, multimedia capabilities, externalmemory interfacing, and interfacing flexibility. Further informationregarding the i.MX515 applications processor can be found in, forexample, the “IMX510EC, Rev. 4” data sheet; dated August 2010; publishedby Freescale Semiconductor at www.freescale.com, the content of the datasheet being incorporated herein by reference. Of course, otherprocessing units, such as other microprocessors, microcontrollers,digital signal processors, etc., can be used in place of the processor300.

The CP 130 includes memory, which can be internal to the processor 300(e.g., memory 305), external to the processor 300 (e.g., memory 310), ora combination of both. Exemplary memory include a read-only memory(“ROM”), a random access memory (“RAM”), an electrically erasableprogrammable read-only memory (“EEPROM”), a flash memory, a hard disk,or another suitable magnetic, optical, physical, or electronic memorydevice. The processor 300 executes software that is capable of beingstored in the RAM (e.g., during execution), the ROM (e.g., on agenerally permanent basis), or another non-transitory computer readablemedium such as another memory or a disc. The CP 130 also includesinput/output (“I/O”) systems that include routines for transferringinformation between components within the processor 300 and othercomponents of the CP 130 or external to the CP 130.

Software included in the implementation of the CP 130 is stored in thememory 305 of the processor 300, RAM 310, ROM 315, or external to the CP130. The software includes, for example, firmware, one or moreapplications, program data, one or more program modules, and otherexecutable instructions. The processor 300 is configured to retrievefrom memory and execute, among other things, instructions related to thecontrol processes and methods described below for the CP 130. Forexample, the processor 300 is configured to execute instructionsretrieved from the memory 140 for establishing a protocol to control theIPG 115.

One memory shown in FIG. 9 is memory 310, which can be a double datarate (DDR2) synchronous dynamic random access memory (SDRAM) for storingdata relating to and captured during the operation of the CP 130. Inaddition, a secure digital (SD) multimedia card (MMC) can be coupled tothe CP for transferring data from the CP to the memory card via slot315. Of course, other types of data storage devices can be used in placeof the data storage devices shown in FIG. 9.

The CP 130 includes multiple bi-directional radio communicationcapabilities. Specific wireless portions included with the CP 130 are aMedical Implant Communication Service (MICS) bi-direction radiocommunication portion 320, a WiFi bi-direction radio communicationportion 325, and a Bluetooth bi-direction radio communication portion330. The MICS portion 320 includes a MICS communication interface, anantenna switch, and a related antenna, all of which allows wirelesscommunication using the MICS specification. The WiFi portion 375 andBluetooth portion 330 include a WiFi communication interface, aBluetooth communication interface, an antenna switch, and a relatedantenna all of which allows wireless communication following the WiFiAlliance standard and Bluetooth Special Interest Group standard. Ofcourse, other wireless local area network (WLAN) standards and wirelesspersonal area networks (WPAN) standards can be used with the CP 130.

The CP 130 includes three hard buttons: a “home” button 335 forreturning the CP to a home screen for the device, a “quick off” button340 for quickly deactivating stimulation IPG, and a “reset” button 345for rebooting the CP 130. The CP 130 also includes an “ON/OFF” switch350, which is part of the power generation and management block(discussed below).

The CP 130 includes multiple communication portions for wiredcommunication. Exemplary circuitry and ports for receiving a wiredconnector include a portion and related port for supporting universalserial bus (USB) connectivity 355, including a Type-A port and a Micro-Bport; a portion and related port for supporting Joint Test Action Group(JTAG) connectivity 360, and a portion and related port for supportinguniversal asynchronous receiver/transmitter (UART) connectivity 365. Ofcourse, other wired communication standards and connectivity can be usedwith or in place of the types shown in FIG. 9.

Another device connectable to the CP 130, and therefore supported by theCP 130, is an external display. The connection to the external displaycan be made via a micro High-Definition Multimedia Interface (HDMI) 370,which provides a compact audio/video interface for transmittinguncompressed digital data to the external display. The use of the HDMIconnection 370 allows the CP 130 to transmit video (and audio)communication to an external display. This may be beneficial insituations where others (e.g., the surgeon) may want to view theinformation being viewed by the healthcare professional. The surgeontypically has no visual access to the CP 130 in the operating roomunless an external screen is provided. The HDMI connection 370 allowsthe surgeon to view information from the CP 130, thereby allowinggreater communication between the clinician and the surgeon. For aspecific example, the HDMI connection 370 can broadcast a highdefinition television signal that allows the surgeon to view the sameinformation that is shown on the LCD (discussed below) of the CP 130.

The CP 130 includes a touch screen I/O device 375 for providing a userinterface with the clinician. The touch screen display 375 can be aliquid crystal display (LCD) having a resistive, capacitive, or similartouch-screen technology. It is envisioned that multitouch capabilitiescan be used with the touch screen display 375 depending on the type oftechnology used.

The CP 130 includes a camera 380 allowing the device to take pictures orvideo. The resulting image files can be used to document a procedure oran aspect of the procedure. For example, the camera 380 can be used totake pictures of barcodes associated with the IPG 115 or the leads 120,or documenting an aspect of the procedure, such as the positioning ofthe leads. Similarly, it is envisioned that the CP 130 can communicatewith a fluoroscope or similar device to provide further documentation ofthe procedure. Other devices can be coupled to the CP 130 to providefurther information, such as scanners or RFID detection. Similarly, theCP 130 includes an audio portion 385 having an audio codec circuit,audio power amplifier, and related speaker for providing audiocommunication to the user, such as the clinician or the surgeon.

The CP 130 further includes a power generation and management block 390.The power block 390 has a power source (e.g., a lithium-ion battery) anda power supply for providing multiple power voltages to the processor,LCD touch screen, and peripherals.

As best shown in FIG. 1, the CP 130 is a handheld computing tablet withtouch screen capabilities. The tablet is a portable personal computerwith a touch screen, which is typically the primary input device.However, an external keyboard or mouse can be attached to the CP 130.The tablet allows for mobile functionality not associated with eventypical laptop personal computers.

In operation, the IPG 115 (which may also be an EPG) through the use ofthe implanted medical electrical leads 110, and specifically theelectrodes 150, stimulates neurons of the spinal cord 125. The IPG 115selects an electrode stimulating configuration, selects a stimulationwaveform, regulates the amplitude of the electrical stimulation,controls the width and frequency of electrical pulses, and selectscathodic or anodic stimulation. This is accomplished by a healthcareprofessional (e.g., a clinician), using the CP 130, setting theparameters of the IPG 115. The setting of parameters of the IPG resultsin a “program,” which is also referred to herein as a “protocol,” forthe electrode stimulation. Programming may result in multiple protocolsthat the patient can choose from. Multiple protocols allows, forexample, the patient to find a best setting for paresthesia at aparticular time of treatment.

With reference to FIG. 3, an electrode array 120 includes eightelectrodes 150B. The shown electrode array 120 has two columns and fourrows as viewed along a longitude length of the lead 110. Moregenerically, the lead includes cl columns and r rows, where cl is twoand r is four. When referring to a particular column, the column isreferred to herein as the j-th column, and when referring to aparticular row, the row is referred to as the i-th row.

Before proceeding further, it should be understood that not allelectrode arrays 120 are conveniently shaped as a simple matrix havingdefinite columns and definite rows. More complex configurations arepossible, which are referred to herein as complex electrode arrayconfigurations. The processes discussed herein can account for complexelectrode array configurations. For example, a representative arrayhaving cl columns and r rows for a complex electrode array configurationmay include “dummy” addresses having “null” values in the array. For aspecific example, an electrode contact may span multiple columns. Theresulting array may have a first address i, j representing the multiplecolumn electrode and a second address i, j+1 having a “null” value toaccount for the multiple columns of the multiple column electrode. Thisconcept can be expanded to even more complex arrangements. Accordingly,all electrode arrays 120 can be addressed as a matrix and it will beassumed herein that the electrode array 120 has been addressed as amatrix.

One process of selecting a best protocol for providing electricalstimulation includes four sub-processes. The processes are referred toherein as the impedance sweep of electrodes, the perception-thresholdsweep, the pain-coverage sweep, and the parameter fine adjustment. Theselecting of a best protocol occurs during a method of treating apatient with spinal cord stimulation. FIGS. 10-15 provide multiple flowdiagrams relating to the treatment of the patient 105 using the SCS 100.

Before proceeding further, it should be understood that the stepsdiscussed in connection with FIGS. 10-15 will be discussed in aniterative manner for descriptive purposes. Various steps describedherein with respect to the process of FIGS. 10-15 are capable of beingexecuted in an order that differs from the illustrated serial anditerative manner of discussion. It is also envisioned that not all stepsare required as described below.

With reference to FIG. 10, the patient 105 performs an initial visit(block 500). The clinician working with the patient 105 logs into the CP130 (block 505), and either selects a stored existing patient or adds anew patient to the CP 130 (block 510). The patient 105 then describeshis pain area (block 515). Using the patient's description, implantsites for a future surgery (block 520) are determined. The patient 105is then scheduled for trial surgery (block 525).

Referring now to FIG. 11, the patient 105 returns for trial surgery(block 530). After obtaining the previously stored patient information,the patient 105 again describes his pain area (block 535) and thelocation for lead implant sites can be confirmed. During the procedure,one or more leads 110 are placed in the patient 105 and their respectivelocations recorded in the CP 130 (block 540). Further, the camera 380can be used to capture images of the procedure, and capture/read barcodeserial numbers of the leads 110 (block 545). It also envisioned thatfluoroscopy/X-ray images can be recorded in the CP 130 as part of theprocedure. The result of blocks 540 and 545 is that the CP 130 has atype, location, orientation, and other contextual information relatingto the implanting of the lead 110. This provides a more robust andaccurate programming of the lead 110.

Next (block 550), the clinician selects the lead 121 for programming.The programming can be manual or assisted (block 555), both of which arediscussed below. The process can then be repeated for a next lead, orthe patient is then scheduled for post-op programming (block 560).

Referring again to block 555, the clinician either manually orautomatically programs the operation of the IPG 115 (which may also bean EPG) to provide electrical stimulation through the lead 110. Withmanual programming (FIG. 12, block 562), the clinician selects a lead(block 563), selects a stimulation polarity, which may be cathodalstimulation as it requires the least amount of current (voltage) toelicit a response (block 564), and manually adjusts pulse amplitude,frequency, and width of the electrical stimuli provided by theelectrodes 150 (block 565). The patient 105 typically provides verbalresponses to cues given by the clinician. This in particular isdifficult and time consuming during a permanent implant where thepatient has to be woken up from the general anesthesia and struggling tobe cognitive with often speech impediments. This process can be verytime consuming given the number of variables for each electrode/channel.The manual process also does not often result in a “best fit” forproviding electrical stimulation treatment and relies significantly onthe clinician's experience. The CP 130 saves the resulting protocol ofthe manually assisted programming (block 570).

With assisted programming (FIG. 13, block 572), the CP 130 establishes aprotocol for providing electrical stimuli to the patient 105. Morespecifically, the assisted programming first performs three sweeps ofthe electrodes 150 to result in a best selection of the electrodes 150for providing paresthesia. The first sweep (block 575) is an impedancesweep to determine a respective impedance between the IPG 115, connectedlead, each electrode 150, and tissue. The impedances are displayed onthe touch screen 375 and can be used by the clinician to help determinewhether an electrode 150 falls in between an accepted impedance range.The second sweep (block 580) is a perception-threshold sweep to find theminimum threshold stimulation sensed by the patient 105 for eachchannel/electrode 150. The second sweep (block 580) is aperception-threshold sweep to find the minimum threshold. In oneimplementation, the stimulation sensed by the patient 105 for eachchannel/electrode 150 is cathodal polarity with the IPG 115 can beingthe anode. For an EPG, a reference electrode may represent the cathodalanode. The values of the perception-threshold sweep are used tonormalize the initial sensation felt by the patient with each electrode150. The last sweep (block 585) is a pain-area sweep to identify theoptimal paresthesia electrodes to the pain area. Even more accurately,the pain-area sweep (block 585) eliminates contacts not reaching thepain area. The clinician can then repeat any of the sweeps and/or refinethe paresthesia to the patient (block 590). The refining of theparesthesia can include adjusting parameters of electric stimulationthrough the electrodes identified in block 585, surrounding an electrodeidentified in block 585 with anode or cathode blocks, or shifting apattern longitudinally or laterally, as is known in the art. Aftercompletion, the CP 130 saves the stimulation parameters (block 595).Further discussion regarding the CP 130 assisted programming will beprovided below.

Before proceeding further, it should be noted that the contextualinformation relating to the implanting of the lead 110 (from blocks 540and 545, above) can be used when programming the stimulation generator.That is, the contextual information can be used to exactly identify thelead 110, corresponding electrode array 120, orientation of the lead110, the placement of the lead 110, etc. The CP 130 automaticallyaccounts for this information when establishing the protocol. For aspecific example, the CP allows for an anatomically correct placement ofthe stimulation lead, if the surgeon chooses to orient the lead inanother way, such as antegrate or diagonal. The CP 130 accounts for thisplacement while performing the sweeps.

Referring now to FIG. 14, the patient 105 returns for post operationprogramming (block 600). Again, the patient 105 can describe the pain heis experiencing (block 605). The clinician then selects a lead 110 forprogramming (block 610) and performs manual or assisted programming forthe lead 110 (block 615). The patient is then scheduled for permanentsurgery (block 620).

With permanent surgery (FIG. 15, block 630), the operation is similar tothe trial surgery except the IPG 115 is typically inserted into thepatient. At block 635, the patient again describes his pain area (block635), which typically corresponds to the previously described pain area,and the location for lead implant sites can be confirmed. During theprocedure, one or more leads 110 are placed in the patient and recordedin the CP (block 640). Also, the IPG 115 is placed in the patient andrecorded in the CP 130 (block 640). The camera 380 can be used tocapture images of the procedure, capture/read barcode serial numbers ofthe leads 110, and capture/read barcode serial numbers of the IPG (block645). Further, fluoroscopy/X-ray images can be recorded in the CP 130,similar to the trial surgery, to help record the procedure (block 645).Next (block 650), the clinician selects the lead 110 for programming.The programming can be manual or assisted (block 655), as alreadydiscussed. The process can then be repeated for a next lead 110.

Accordingly, FIGS. 11-15 provide a process for treating a patient usingthe SCS 100. FIGS. 16-19 provide more detailed processes for performingcomputer assisted stimulation programming (CASP) using the CP 130. Thesteps discussed in connection with FIGS. 16-19 will be discussed in aniterative manner for descriptive purposes. Various steps describedherein with respect to the process of FIGS. 16-19 are capable of beingexecuted in an order that differs from the illustrated serial anditerative manner of discussion. It is also envisioned that not all stepsare required as described below.

FIG. 16 shows four exemplary sub-processes of the CASP process. Thefirst process (block 675) retrieves impedance values of the electrodes150 in a lead 110. In order to perform the process 675, the clinicianidentifies the lead 110 to the CP 130. The CP 130 knows the arrangementof the electrode array 120, as previously discussed, for the lead 110once the lead 110 is identified. One exemplary pseudo code and relatedflow chart for process 675 is shown below and in FIG. 17, respectively.This pseudo code assumes impedance between the contact Z_(i,j),connected lead, the can of the IPG 115, and tissue. However, otherimpedance combinations are possible between contacts Z_(i,j) andZ_(k,l),

where (k=1:r); (1=1:cl) and (k!=i) v (l!=j);

Require: EPG or IPG communication established 1: [Z_(i,j)] ← 0 >settingimpedance array to zero 2: r ← number of rows >number of contacts inlead latitudinally 3: cl ←number of columns > number of contacts in leadlongitudinally 4: for j = 1 to ≦ cl do 5:  for i = 1 to ≦ r do 6:  Z_(i,j) ← retrieve impedance of contact i, j >computed by IPG/EPG 7: end for 8: end for 9: return [Z_(i,j)]

First, the array [Z_(i,j)] is set to zero, the number of rows r isidentified, and the number of columns cl is identified (block 695). Thearray [Z_(i,j)] corresponds to an array representing the electrode array120. The letter i represents the i-th row from 1 to r rows. The letter jrepresents the j-th column from 1 to j columns. As discussed previously,the representative array [Z_(i,j)] can represent many electrode arrays,including complex electrode array configurations having “dummy”addresses with “null” values. Therefore, not every address of the array[Z_(i,j)] may include a value. Returning to FIG. 17, the processperforms a first for-loop (block 700) for the columns and a secondfor-loop (block 705) for the rows of the array [Z_(i,j)]. The two loopsallow the process to progress through each electrode 150 of theelectrode array 120 to obtain an impedance value associated with eachchannel (block 710). Each impedance value relates to the impedancebetween the can 220 of the IPG 115, the connected lead, tissue, forexample, and a respective electrode 150. The process of FIG. 17 helps todetermine that the impedance values of lead 110 fall within acceptableranges, necessary to provide electrical stimulation to the nerves.

Referring back to FIG. 16, the second process (block 680) determines theperception-threshold values of the electrodes 150 in a lead 110. Duringthe process, the patient 105 provides feedback using the PFD 145 whenthe patient 105 senses a stimulation, such as a paresthesia sensation.One exemplary pseudo code and related flow chart for process 680 isshown below and in FIG. 18, respectively.

Require: EPG or IPG communication established Ensure: Impedance of eachcontact retrieved 1: [Cthr_(i,j)] ← 0 >setting contact stim thresholdarray to zero 2: r ← number of rows >number of contacts in leadlatitudinally 3: cl ←number of columns >number of contacts in leadlongitudinally 4: stimAmpStart ← sA_(start) >initial stim amplitude 5:stimAmpEnd ← sA_(end) >ending stim amplitude 6: stimAmpInc ← sInc >stimamplitude increment 7: stimAmp ← stimAmpStart >beginning stimulationamplitude 8: setSweepFrequencyForward >activation frequency 9:setStimFrequency >stimulation in pulses per seconds 10setStimDuration >duration of stimulation per contact 11: contactCounter← 0 12: Camp_(i,j) ← 0 13: while stimAmp ≦ stimAmpEnd && contactCounter≦ totalContacts do 14:  for j = 1 to cl do 15:   for i = 1 to r do 16:   if Cthr_(i,j) 0 ≠ then >ignore contacts that already have thresholdsestablished 17:     continue 18:    end if 19:    listenForPatientResponse( ) 20:    Camp_(i,j) ← stimAmp forstimDuration >start stimulation 21:    if patientResponded then 22:    setSweepFrequencyReverse, startSweepReverse 23:     for revJ = jdownto revJ > 0 do 24:      for revI = i downto revI > 0 do 25:       ifCthr_(revI,revJ) ≠ 0 then>ignore contacts that already       havethresholds established 26:        continue 27:       end if 28:      Camp_(revI,revJ) ← stimAmp for stimDuration > start      stimulation 29:       if patientResponded then 30:       Cthr_(revI,revJ) ← Camp_(revI,revJ) 31:        contactCounter ++32:       endif 33:      end for 34:     end for 35:    end if 36:   setSweepFrequencyForward 37:   end for 38:  end for 39:  stimAmp+ ←stimAmpInc 40: end While 41: return [Cthr_(i,j)]

First the array [Cthr_(i,j)] is set to zero, the number of rows r isidentified and the number of columns cl is identified (block 720). Also,the initial stimulation amplitude stimAmpStart, the ending stimulationamplitude stimAmpEnd, and the stimulation amplitude increment stimAmpIncare identified; the variable stimAmp is set; and the countercontactCounter is set. Also, the forward sweep frequencysetSweepFrequencyForward, the stimulation frequency setStimFrequency,the duration of stimulation setStimDuration are established and thestimulation Camp_(ij) is tuned off (block 720).

The CASP process performs a while-loop to determine theperception-threshold values of the electrodes 150. The while-loop isperformed while the stimAmp value is less than the threshold stimAmpEndand each contact does not have a perception-threshold value (block 724).The while-loop includes two for-loops: a first for-loop for the columnsof the array (block 728) and a second for-loop for the rows of the array(block 732). The two loops allow the CASP process to progress througheach electrode 150 of the electrode array 120. While performing theloops, the process determines whether the perception array does not havea perception value for the i-th row and the j-th column (block 736). Ifthe array location has a perception-threshold value, then the processreturns to block 732. Otherwise, the process continues.

Before proceeding further, it should be noted that the CASP processautomatically and systematically progress through the electrodes 150. Inaddition, as shown by block 736, the CASP process “skips” or passes overan electrode C_(i,j) once a perception threshold Cthr_(i,j) isidentified for the electrode 150. However, the sweeping of theelectrodes 150 is still automated and systematic even when this skipprocess occurs.

Referring now to block 740, the contact amplitude Camp_(i,j) is set tothe stimulation amplitude stimAmp, the process pauses for a duration. Atthe same time the CASP is monitoring for a patient response. For theimplementation discussed herein, the stimulation amplitude is a currentamplitude. However, a voltage amplitude or other variable (pulse shape,frequency, width, etc.) can be used and adjusted in place of the currentamplitude. If the patient 105 feels a sensation, then they providefeedback to the CP 130 via the PFD 145 (block 744). If a patient 105response is detected then the process proceeds to block 748. Otherwise,the CASP process continues to proceed through the for-loops.

When a patient 105 provides feedback indicating a response, a reversefrequency is set (block 748) and the sweep is reversed (starting atblock 752). More specifically, for the CASP process discussed herein,the process proceeds quickly through the electrode array 120 and adelayed reaction from the patient 105 is expected. By performing areverse sweep, the CASP process more accurately confirms a response. TheCASP process initiates two for-loops 752-756 in a reverse sweepdirection. While performing the reverse sweep, the process “skips” orpasses over electrodes 150 having perception thresholds (block 760). Thecontact amplitude Camp_(revI,revJ) is set to the stimulation amplitudestimAmp, the process pauses for a duration (block 764). If a patient 105feels a sensation, then they provide feedback to the CP 130 with the PFD145. If a patient 105 response is detected (768), then the processproceeds to block 772. Otherwise, the CASP process continues to proceedthrough the for-loops 752 and 756. At block 772, theperception-threshold value is set for Cthr_(revI,revJ) and thecontactCounter increments.

Upon completion of the perception threshold sweep, perception thresholds[Cthr_(i,j)] are established for each contact 150. The values of theperception-threshold sweep are used to normalize the initial sensationfelt by the patient with each channel/electrode 150.

Referring again to FIG. 16, the third process (block 685) performs apain-area sweep to determine the best electrode(s) 150 for stimulatingneurons to the affected pain area. During this process, the patient 105again provides feedback using the PFD 145 when the patient 105 senses adefined stimulation. One exemplary pseudo code and related flow chartfor process 685 is shown below and in FIG. 19, respectively.

Require: [Cthr_(i,j)] ≠ 0 >threshold array is not Ensure: stimulationcontacts that cover pain empty 1: [Parea_(i,j,k)] ← false 2:setSweepFrequencyForward >activation frequency 3:setStimFrequency >stimulation in pulses per seconds 4:setStimDuration >duration of stimulation per contact 5: r ← number ofrows >number of contacts in lead latitudinally 6: cl ← number ofcolumns >longitudinal columns 7:  for: j = 1 to ≦ r do 8:   for i = 1 to≦ cl do 9:    listenForPatientResponse( ) 10:    Camp_(i,j) ← Cthr_(i,j)for stimDuration >start stimulation 11:    if patientResponse then 12:    k ← patientPainRegion > patient locates where pain     region is 13:    PainA_(i,j,k) ← true 14:    end if 15:  end for 16: end for 17:return [Parea_(i,j,k)]

First, the forward sweep frequency setSweepFrequencyForward, thestimulation frequency setStimFrequency, the duration of stimulationsetStimDuration are established and the stimulation Camp_(ij) is tunedoff (block 800). Next, the number of rows r is identified, the number ofcolumns cl is identified, and the array [Parea_(i,j,k)] is set to false(block 802). The CASP process then automatically and systematicallyprogresses through the electrodes 150. A first for-loop (block 805) forthe columns of the area and a second for-loop (block 810) for the rowsof the array are swept. While performing the loops, the electrode Camp,is set to the threshold Cthr_(i,j), which may be set from the priorperception-threshold sweep (block 815). The process pauses for aduration. If the electrode 150 stimulates neurons related to the painarea, then the patient 105 provides feedback to the CP 130 via the PFD145. If a patient 105 response is detected (block 820) then the processproceeds to block 825. Otherwise, the CASP process continues theautomated and systematic sweep through the electrodes 150. At block 825,the patient identifies the paresthesia area (k) the stimulation isreaching and contact i,j in the array [Parea_(i,j,k)] is set to true.

In some implementations, when a patient 105 provides feedback indicatinga response to the stimulation that reaches the pain area, the sweep canbe repeated multiple times over. The resulting multitude pain areaarrays can be compared to verify consistent patient response. However,the exemplary process shown in FIG. 19 does not include the repeatedsweep.

At the end of the pain-area sweep, the CP 130 identifies the bestelectrode(s) 150 for stimulating neurons to the affected pain area,i.e., to provide paresthesia to the affected pain areas. It isenvisioned that the process of performing the perception thresholdsweeps and pain area sweeps can be performed in less than thirtyminutes, and preferably in less than ten minutes. The time can varybased on the sweep speed and delay times used during the sweep. The CP130 can then isolate the resulting best electrodes and refine thestimulation parameters (amplitude, frequency, pulse width) to result inan optimal pattern as has been previously done in prior SCS systems(block 690 of FIG. 16).

Thus, the invention provides, among other things, useful and systems andmethods for providing electrical stimulation to a neural tissue of apatient.

The discussions above pertain to systems and methods of providing CASPaccording to some embodiments of the present disclosure. Discussed beloware systems and methods of providing CASP according to some alternativeembodiments of the present disclosure. Hereinafter, the CASP processdiscussed above is referred to as conventional CASP, and the CASPprocess discussed below is referred to as alternative CASP. For reasonsof consistency and clarity, similar elements and components appearing infigures pertaining to conventional CASP and alternative CASP are labeledthe same.

Referring now to FIG. 20, a flowchart of a simplified method 970 ofperforming alternative CASP. Similar to the embodiments of the CASPprocess discussed above, the alternative CASP method includes threedifferent sweeps. The first sweep is an impedance sweep in a step 980,in which an impedance sweep is performed to check the electrical and/orphysical connections for all contacts on the lead. In variousembodiments, the impedance sweep in step 980 is similar to the impedancesweep in block 575 of the conventional CASP discussed above withreference to FIG. 13. By applying an electrical current and measuringthe corresponding voltage (or vice versa) for each contact, therespective impedance for each contact is calculated. If the impedancefalls within an acceptable range, the connection associated with thatcontact is deemed to be good. Otherwise, if the impedance is too high ortoo low, it may indicate an open circuit or short circuit condition, andfurther investigation or troubleshooting may be needed, since open orshort circuit conditions are not desirable for a lead and should becorrected. The impedance values may also be visually displayed on ascreen of the clinician programmer.

Still referring to FIG. 20, the method 970 of performing alternativeCASP includes a step 985, in which a plurality of perception thresholdsweeps is performed to determine the perception threshold stimulationcurrent for a plurality of contacts on the lead. For example, theplurality of contacts for which the perception threshold sweeps shouldbe performed are the contacts that have been deemed to be “good”contacts based on the impedance sweep of step 980. In other words, the“bad” contacts that have connection problems (determined based onimpedances that are too high or too low from the impedance sweep) areexcluded from the perception threshold sweep.

The method 985 is the second sweep of the alternative CASP process. Thestep 985 shares some similarities with the perception threshold sweep inblock 580 of the conventional CASP discussed above with reference toFIG. 13, but is different in certain other aspects. For example, thegoal for both the conventional CASP and the alternative CASP is todetermine, for each contact, the amount of stimulation current thatcauses the patient to feel a stimulation sensation.

However, conventional CASP and alternative CASP implement differentalgorithms to determine the perception threshold for each contact. Asdiscussed above, conventional CASP performs a “linear” sweep for allcontacts. That is, the stimulation current is ramped up from a low value(e.g., zero) to a high number for each contact. During this process, thepatient will provide feedback—for example by engaging the PFD 145discussed above with reference to FIG. 1—to let the healthcareprofessional know when the perception threshold is reached. In otherwords, the patient will inform the healthcare profession when he/shefinally begins to “feels some amount of stimulation” when a certainstimulation current amplitude is reached. This procedure is performedfor each contact one by one, until the perception threshold isdetermined for all the contacts.

Unlike the conventional CASP, the alternative CASP employs asub-dividing approach to quickly separate the contacts into smaller andsmaller groups in order to identify the one or more contact of interest.To explain this approach in more detail, referring now to FIGS. 21-25,which are simplified diagrammatic illustrations of an example lead 1000according to some embodiments. The lead 1000 has contacts 1010A-1010L(also referred to as electrodes). For all the contacts 1010, stimulationcurrent is simultaneously ramped up from zero slowly, for example bysmall increments (e.g., 0.05 mA or 0.1 mA) with pauses in between eachincrement (e.g., a few seconds or longer). In some embodiments, theexact configurations for the ramping up process may be set by ahealthcare professional.

As this ramping up process takes place, the patient is asked to providefeedback, for example by engaging the PFD 145 discussed above. In someembodiments, the patient's engagement of the PFD 145 will generate asignal (e.g., generated by the PFD 145) that will be sent to theclinician programmer. This signal informs the clinician programmer thata perception threshold has been reached for at least one of the contactson the lead, and therefore the current ramping process should betemporarily paused until such contact can be identified. Alternatively,a human assistant may also be employed instead of, or in addition to,the PFD 145 to help the patient provide feedback.

In any case, when the patient indicates that he/she is beginning to feelsome stimulation sensation, the value of the stimulation currentamplitude that produced the stimulation sensation is recorded. Thisvalue may be stored in the local memory storage of the clinicianprogrammer, in the IPG, or in a server (i.e., cloud) located remotelyfrom the clinician programmer. In addition, the contacts 1010A-1010L onthe lead 1000 are divided into a plurality of sections or groups, forexample into two sections 1020A (containing contacts 1010A-1010F) and1020B (containing contacts 1010G-1010L), as shown in FIG. 21. Thecontacts 1010A-10101 are then activated one section or group at a timeby applying the recorded stimulation current to all the contacts in thatactivated section, and the patient is asked if the stimulation sensationis still being felt.

For example, suppose that the stimulation current that produced thestimulation sensation for the patient is 1.5 mA. The contacts1010A-1010F in the section 1020A are then turned on at 1.5 mA, while thecontacts 1010G-1010L are turned off. The patient provides feedback byengaging or not engaging the PFD 145 to indicate whether or not thestimulation sensation is still being felt. If the PFD 145 is engaged,that indicates the patient feels the stimulation sensation while thesection 1020A is activated, which means the contact (or contacts)producing the stimulation sensation resides in section 1020A. If the PFD145 is not engaged, that indicates the patient does not feel anystimulation sensation while the section 1020A is activated, which meansthe contact (or contacts) producing the stimulation sensation resides insection 1020B. In any case, based on the patient's feedback, the sectionin which the stimulation-sensation-producing contact (or contacts)resides is investigated further.

For the purposes of providing an example, referring to FIG. 22, supposethe patient feels a stimulation sensation when the section 1020A isactivated. Thus, the section 1020B is temporarily crossed-off (i.e., notbeing considered for further investigation at this time). This isvisually represented herein by the shading of the section 1020B in FIG.22. The section 1020A is of interest (i.e., likely containing thecontact that caused the stimulation sensation), and it is furthersub-divided into sections 1020C (containing contacts 1010A/C/E) and1020D (containing contacts 1010B/D/F). The contacts 1010A/C/E in thesection 1020C are then turned on at 1.5 mA, while the contacts 1010B/D/Fare turned off. Again, the patient provides feedback by engaging or notengaging the PFD 145 to indicate whether or not the stimulationsensation is still being felt. If the PFD 145 is engaged, that indicatesthe patient feels the stimulation sensation while the section 1020C isactivated, which means the contact that caused the stimulation sensationresides in section 1020C. Otherwise, the contact that caused thestimulation sensation resides in section 1020D.

Suppose the patient does not engage the PFD 145 while the section 1020Cis activated but does engage the PFD 145 while the section 1020D isactivated. Therefore, the section 1020D is investigated further, and thesection 1020C is crossed off, as shown in FIG. 23. At this point, thethree contacts 1010B/D/F does not necessarily need be divided anymore,since three contacts cannot be evenly divided by two. In other words,the sub-division algorithm discussed herein may round down if asub-division results in a fraction or a decimal: in this case, 3 dividedby 2=1.5, which is rounded down to 1. In other words, each contact1010B/D/F may be individually tested to determine whether the contact isthe contact that produced the stimulation sensation, and if so, thatcontact is assigned 1.5 mA as the perception threshold. For example, thepatient may confirm that both the contacts 1010B and 1010D produced thestimulation sensation, but the contact 1010F did not. Thus, theperception threshold for contacts 1010B and 1010D are assigned to be 1.5mA in this example.

Alternatively, as shown in FIG. 24, the contacts 1010B/D/F in thesection 1020D may still be sub-divided again into a section 1020Econtaining any of the two contacts (e.g., contacts 1010B/D) and anothersection 1020F containing the remaining contact (e.g. contact 1010F). Theprocedure discussed above is repeated for these sections 1020E and1020F, until the patient can confirm which one or more of the contactsactually produced the stimulation sensation. Based on the same examplediscussed above, the patient should confirm that the contacts 1010B and1010D are the contacts that caused the stimulation sensation, and 1.5 mAis assigned as the perception threshold for these contacts.

In any case, after the perception threshold for contacts 1010B and 1010Dare determined, contacts 1010B and 1010D are “eliminated” or “excluded”from the subsequent alternative CASP analysis. In other words, thecontacts 1010B and 1010D are no longer turned on, since theircorresponding perception threshold is already known (i.e., 1.5 mA inthis example). For the remaining contacts 1010A, 1010C, and 1010E-1010L,the ramping up of the stimulation current is resumed up from a currentamplitude greater than the perception threshold identified for thecontacts 1010B and 1010D. In this example, since the perceptionthreshold for the contacts 1010B and 1010D is determined to be 1.5 mA,the ramping up for the remaining contacts may start from a currentslightly greater than 1.5 mA, for example 1.6 mA.

The ramping up process may continue by incrementing the stimulationcurrent 0.1 mA at a time (or by another suitable small increment step),until the patient feels a stimulation sensation again. At that point,the remaining contacts are sub-divided into a plurality of sections andtested again in a similar process as discussed above, in order to narrowdown the contact that caused the stimulation sensation. For example,after a plurality cycles of sub-dividing and testing processes, thecontacts 1010A and 1010C are determined to have a perception thresholdat 1.8 mA. Thereafter, the contacts 1010A and 1010C are eliminated fromthe remaining alternative CASP analysis, along with the contacts 1010Band 1010D that have been previously eliminated.

For the remaining contacts 1010E-1010L, the process discussed above isrepeated again and again a plurality of times, until the perceptionthreshold for every contact has been determined. For reasons ofsimplicity, the details of these processes are not discussed herein,though it is understood that the perception threshold determination foreach contact may involve one or more stimulation ramping andsub-dividing processes for the contacts. It is also understood thatalthough the description of the alternative CASP process may appear tobe lengthy and time-consuming, in reality it can be performed quitequickly. This is at least in part due to the fact that the currentramping and contact sub-dividing processes in the alternative CASPanalysis are computer-automated, for example by the electronicprocessors and memory in the clinician programmer. In some embodiments,the entire alternative CASP process may be completed in a few minutes.This is beneficial, because the CASP process is often performed duringexploratory surgery or permanent implant surgery, while the patient isunder anesthesia. Therefore, the fast performance of the alternativeCASP process may lead to better patient satisfaction and/or greateraccuracy for the determination of the perception thresholds for thecontacts.

It is understood that the sub-dividing process discussed above withreference to FIGS. 21-25 is merely a simplified example of how aplurality of contacts on a lead may be divided and sub-divided intosmaller and smaller groups in order to zero in on the contact(s) ofinterest. For example, the dividing and sub-dividing process in thisexample utilizes a binary division algorithm, which attempts to dividethe contacts into two groups of approximately equal number of contactsby each division. In other words, the contacts are divided by two inmost situations (until it is not feasible to do so anymore).

In other embodiments, the contacts may be divided and sub-divided bydifferent algorithms. For example, referring to FIG. 25, as the patientfirst feels stimulation as the current is being ramped up, the contacts1010A-1010L may be divided into four quadrant sections 1020G, 1020H,1020I, and 1020J each containing their respective contacts. The quadrantsections 1020G/H/I/J may then be activated one section at a time tolocate the quadrant section in which the contact that caused thestimulation sensation resides. This process may be repeated a number oftimes until the contact that caused the stimulation sensation islocated, and the amount of stimulation current that caused thestimulation sensation is then assigned as the perception threshold tothat contact. Similarly, the contacts may be divided and sub-dividedinto any other number of sub-groups in other embodiments. For example,in some embodiments, as the stimulation current is being ramped upinitially, once the patient indicates that he/she feels a stimulationsensation, the ramping is paused, and then each contact is interrogatedindividually to determine if that contact was the one that caused thepatient to feel the stimulation sensation. Alternatively stated, it isas if the contacts are divided into a plurality of “groups” that eachcontain just one respective contact, rather than groups that containmore than one contact. Furthermore, in certain embodiments, eachsub-division may be performed differently than previous sub-divisions.For example, a group of contacts may first be divided into two groups,and then each group may be subsequently divided into three sub-groups,and each sub-group may then be subsequently divided into foursub-sub-groups, etc.

It is also understood that there may be an upper limit or maximum levelas to how much the stimulation current can be ramped up. For example,for the patient's safety, the upper limit for the stimulation currentmay be set at 15 mA (or another suitable number). If the ramping upprocess has been performed such that the stimulation current is now at15 mA, and one or more contacts still have not caused the patient tofeel any stimulation sensation, then the ramping up process will stopanyway, and the upper limit for the stimulation current (15 mA in thisexample) will be assigned as the perception threshold for thesecontacts. The rationale is that it can be safely assumed that thepatient can be stimulated with these contacts driven by stimulationcurrents at the upper limit, and the patient will not experience anydiscomfort as a result of it. For the rest of the contacts that haveperception thresholds lower than the upper limit, however, they shouldbe driven by stimulation currents equal to their respective perceptionthresholds when activated.

Referring back to FIG. 20, the method 900 of performing alternative CASPincludes a step 990, in which one or more pain area sweeps are performedto locate the contacts that offer the best stimulation for the patient'spain areas. This is also known as a Paresthesia sweep, since Paresthesiarefers to the feeling of stimulation in the areas of pain. The step 990is the third sweep of the alternative CASP process. In some embodiments,the pain area sweep of step 990 may be substantially similar oridentical to the pain area sweep in block 585 of the conventional CASPprocess shown in FIG. 13. In other embodiments, the step 990 shares somesimilarities with the block 585 of the conventional CASP process, but isdifferent in certain other aspects. For example, the step 990 mayperform the pain area sweep using a division algorithm similar to thealgorithm used to perform the perception threshold sweep.

For example, in an embodiment using a binary division, the contacts aredivided into two (or another suitable number) different sections orgroups. For each section, stimulation currents are applied to each ofthe contacts in that section, where the stimulation current amplitude isset to the respective perception threshold that had been determined forthat contact. The patient is then asked to provide feedback (e.g., viaengagement with the PFD 145) as to whether or not he/she feels relief atthe target area of pain (e.g., knee, shoulder, etc.). Based on thepatient's feedback, the contacts in the section/group of interest aresub-divided one or more times into smaller and smaller sections/groups,until the target contacts that offered pain relief are identified. Inother words, the patient feels Paresthesia when these target contactsare driven by the stimulation current at their respective perceptionthresholds.

Again, the division or sub-division of the contacts in the pain areasweep process need not be binary, as the contacts may be divided intoany other number of groups containing any suitable number of contacts ina manner similar to that discussed above with reference to theperception threshold sweep process. In the alternative embodimentdiscussed above where the contacts are separated individually (i.e.,into “groups” that each contain just a single respective contact), thepain area sweep process may be performed by activating each of thecontacts by applying their respective perception threshold stimulationcurrent, and determining whether the patient experiences Paresthesiawhen such contact is activated. In this manner, the pain area sweepinvolves a single division process (i.e., dividing the group of contactsinto individual contacts), and therefore no further sub-division isnecessary.

In any case, once the target Paresthesia-producing contacts areidentified, they may then be saved (e.g., in a local or remote memorystorage) and thereafter used to develop a treatment protocol forproviding therapeutic electrical stimulation to treat the patient. Insome embodiments, the treatment protocol may be developed manually bythe healthcare professional. For example, the healthcare professionalmay manually configure the stimulation parameters such as stimulationcurrent amplitude, frequency, pulse width, etc., for these targetcontacts. In some other embodiments, the clinician programmer may beable to automatically develop one or more treatment protocols based onthe identified target contacts.

In the perception threshold sweep and/or the pain area sweep discussedabove, the dividing and sub-dividing processes may be performeddynamically (i.e., “on the fly”) in some embodiments. For example, thedividing and sub-dividing algorithms will continue to divide theremaining contacts by a factor of two (or another number) in each cycle,until a fraction or a decimal is reached (meaning the remaining contactscan no longer be divided in equal numbers). At that point, the number ofdivided contacts is rounded down. For example, if three contacts areremaining, the contacts will be sub-divided into three individualcontacts (3/2=1.5, which is rounded down to 1). As another example, iffive contacts are remaining, the contacts may be sub-divided into agroup containing two contacts and another group containing threecontacts. Of course, alternative algorithms may be used to carry out thesub-division processes.

In some other embodiments, the lead contact configuration information(e.g., information regarding the number of contacts on the lead, and howthese contacts are arranged) is retrieved by the clinician programmer,for example via telecommunications conducted between the clinicianprogrammer and the IPG before the alternative CASP process is performed.The clinician programmer may store a look-up table in its local memory(or remotely) that describes how the contact division and sub-divisiondiscussed above should be performed for each type of lead. In thismanner, the contact division and sub-division need not necessarily beperformed dynamically, but it may be performed according to a predefinedarrangement based on the lead contact configuration.

As discussed above, a portable electronic device such as a clinicianprogrammer may be used to carry out various aspects of the CASP andalternative CASP processes discussed above. FIGS. 26-30 are examplescreenshots of a user interface 1200 for visually representing differentaspects of the CASP and alternative CASP processes according to thevarious aspects of the present disclosure. In some embodiments, the userinterface 1200 may be displayed on a screen of a clinician programmer.In some embodiments, the screen may be a capacitive or resistivetouch-sensitive screen. In other embodiments, the screen may be anon-touch-sensitive screen, for example a Liquid-Crystal Display (LCD)screen, a Light-Emitting Diode (LED) screen, or a Cathode Ray Tube (CRT)screen. In yet other embodiments, the user interface 100 may bedisplayed on a programmer and an external monitor simultaneously, forexample in accordance with U.S. patent application Ser. No. 13/600,875,filed on Aug. 31, 2012, entitled “Clinician Programming System andMethod”, attorney docket 46901.11/QIG068, the disclosure of which ishereby incorporated by reference in its entirety. As such, both thehealthcare provider and the patient are able to view the user interfaceat the same time.

Referring to FIG. 26, the user interface 1200 illustrates an examplelead 1210 (or a virtual representation thereof). In this example, thelead 1210 is a single column lead and contains twelve contacts1220-1231. Of course, this is just an example, and other types of leadsmay be implemented in alternative embodiments. The user interface 1200also illustrates a CASP programming window 1250. The CASP programmingwindow includes virtual buttons 1260-1266. Each of the virtual buttons1260-1266 may be user-engage-able, for example by a touch input (e.g.,either with a finger or a stylus), or a hover input, or by a mouseand/or keyboard.

In this example, the virtual button 1260 is a “start/stop” button thatwhen engaged, will execute the CASP or alternative CASP processesdiscussed above. The virtual button 1261 is a “pause” button that whenengaged, will pause the CASP or alternative CASP processes discussedabove. The virtual button 1262 functions similar to a “debug” command ina computer programming environment. In other words, when the virtualbutton 1262 is engaged, it temporarily pauses the CASP or alternativeCASP processes and allows the user to “single-step” through theexecution of the CASP or alternative CASP processes. Thus, theengagement of the virtual button 1262 allows the execution of one of thesweep processes to be paused. The user may then advance the pace of thesweep at his/her own discretion.

The virtual buttons 1263-1265 correspond to the impedance sweep, theperception threshold sweep, and the pain area sweep (i.e., theParesthesia sweep) sweep discussed above, respectively. When the virtualbutton 1260 is engaged to begin the sweeping processes, the impedancesweep would first be performed, followed by the perception thresholdsweep, and then the pain area sweep. While each type of sweep isoccurring, the corresponding virtual button 1263-1265 may be highlightedto indicate the type of sweep that is occurring.

In the example shown in FIG. 26, the impedance sweep has alreadyoccurred, and now the perception threshold sweep is underway, asindicated by the highlighting of the virtual button 1264. Also in thisexample, the impedance sweep has identified the contacts 1223 and1228-1229 as “bad” contacts, which indicate connection problems. Assuch, these contacts 1223 and 1228-1229 are excluded from the perceptionthreshold sweep (and thereafter the pain area sweep). To remind the userof their exclusion, the contacts 1223 and 1228-1229 may be visuallydistinguished from the rest of the contacts. For example, the contacts1223 and 1228-1229 may be colored or shaded differently than the rest ofthe contacts.

As discussed above, the perception threshold sweep begins by ramping upthe stimulation current for a plurality of contacts. Had the impedancesweep identified no “bad” contacts, all contacts 1220-1231 would havebeen included in this ramping up process. However, in this example, theplurality of contacts whose currents are being ramped up includes thecontacts 1220-1222, 1224-1227, and 1230-1231, but not the “bad” contacts1223, 1228, and 1229. In some embodiments, the contacts 1220-1222,1224-1227, and 1230-1231 that are undergoing the ramping up process arevisually distinguished by flashing. In other embodiments, the visualdistinction of these contacts may be a particular coloring or shadingthat is only present while the ramping up process is underway. Note thatin the conventional CASP process, each contact may be ramped upindividually, and therefore only one contact may be flashing (orotherwise visually distinguished) at a time. For reasons of simplicity,this is not specifically illustrated herein.

Referring now to FIG. 27, after the perception thresholds have beendetermined for one or more of the plurality of contacts 1220-1222,1224-1227, and 1230-1231 (either through the conventional CASP processor the alternative CASP process), these contacts may also be given adifferent visual distinction. In this example, the respective perceptionthresholds for contacts 1220-1221, 1224-1227, and 1230-1231 have beendetermined, and therefore these contacts may stop flashing and may begiven a color (e.g., green) different from the color (e.g., yellow) ofthe “bad” contacts 1223 and 1228-1229 that were excluded from theperception threshold sweep.

Furthermore, the numeric values of the perception thresholds may also bevisually displayed next to their respective contacts 1220-1221,1224-1227, and 1230-1231. In this example, the numeric values of theperception thresholds for the contacts 1220-1221, 1224-1227, and1230-1231 are (in mAs) 0.55, 0.55, 0.90, 0.70, 0.65, 0.60, 0.75, 0.80,and 0.85, respectively. In addition, the perception threshold for thecontact 1222 is still to be determined, and thus the stimulation currentis still being ramped up for the contact 1222. The value of thestimulation current during the ramping up process may also be displayedadjacent to the corresponding contacts, in this case 0.90 mA for thecontact 1222.

Referring now to FIGS. 28-29, after the perception threshold sweep iscompleted, the pain area sweep (also interchangeably referred to as theParesthesia sweep hereinafter) starts. In a conventional CASP processillustrated in FIG. 28, since the contacts are swept individually, eachactivated contact will be visually distinguished one at a time, forexample by individually flashing each activated contact (or giving aparticular color or shading to the activated contact). In this example,the contact 1222 is activated to determine whether it producesParesthesia for the patient, and therefore the contact 1222 is flashing.

In an alternative CASP process illustrated in FIG. 29, the contacts aredivided into groups and then swept one group at a time. For example, thecontacts 1220-1222 and 1224-1225 are grouped together and are allactivated to their respective perception thresholds. These activatedcontacts 1220-1222 and 1224-1225 may be visually distinguished, forexample by collectively flashing as a group or being collectively givena particular color or shading. Meanwhile, the rest of the contacts(either “bad” contacts or inactive contacts) are not flashing, whichindicates that they are not being activated. As is shown in FIGS. 28-29,the numeric values of the perception thresholds for the contacts may bedisplayed adjacent thereto during the Paresthesia sweep as well.

Referring now to FIG. 30, suppose that, after the completion of the painarea sweep or Paresthesia sweep, the contacts 1224 and 1225 have beenidentified as the Paresthesia-producing contacts. Thus, the contacts1224 and 1225 may be visually distinguished from the rest of thecontacts. In this example, the Paresthesia-producing contacts 1224-1225are colored in blue, whereas the contacts (i.e., contacts 1220-1222,1226-1227, and 1230-1231) that do not produce Paresthesia but whoseperception thresholds have been determined are colored in green, and the“bad” contacts that did not undergo the CASP or alternative CASPprocesses are colored in yellow. These visual distinctions help remindthe user of the characteristics or properties of each contact, as do therespective perception threshold values displayed next to these contacts.In this manner, the user is provided with a “visual map” or “visuallandscape” that helps him/her to quickly comprehend the state of thecontacts on the lead. However, the particular colors, shading, orflashing discussed above are merely examples, and different manners ofvisual distinctions may be implemented in alternative embodiments.

It is also understood that the execution of the three sweeps (impedance,perception threshold, and pain area) are sequential. In other words, theimpedance sweep should be executed first, followed by the perceptionthreshold sweep, and then the pain area sweep. The engagement of thevirtual button 1260 may automatically trigger the execution of thesesweeps, beginning with the impedance sweep. With reference to FIGS.26-30, it can be seen that the virtual buttons 1263-1265 are highlightedwhen their corresponding sweep is being executed. In addition, prior tothe completion of a particular sweep, the virtual button correspondingto a subsequent sweep is grayed-out and cannot be engaged. For example,as shown in FIG. 26, since the perception threshold sweep is stillunderway, the virtual button 1265 corresponding to the Paresthesia sweepis grayed-out and cannot be engaged by the user. This helps reduce userconfusion or error arising from attempting to perform a sweep out oforder.

However, after a particular sweep has been completed, the user mayengage the corresponding virtual button to repeat such sweep. Forexample, as shown in FIGS. 26-30, since the impedance sweep has alreadybeen performed, the virtual button 1263 corresponding to the impedancesweep is not grayed-out, and a user engagement of the virtual button1263 may repeat the impedance sweep. Similarly, as shown in FIG. 29 or30, the perception threshold sweep has already been completed. Thus, thevirtual button 1264 corresponding to the perception threshold sweep isnot grayed out, and a user engagement of the virtual button 1264 mayrepeat the perception threshold sweep. In addition, as discussed above,the user may engage the virtual button 1262 to enter a debug-like modewhere the execution for any sweep may be temporarily paused and steppedthrough one step at a time.

When all the sweeps have been completed and the targetParesthesia-producing contacts have been identified, the virtual button1266 may also be used to save the information gathered through the CASPor alternative CASP processes. Such information may include, but is notlimited to: which contacts are “good” or “bad”, the perceptionthresholds for each “good” contact, and which contacts are theParesthesia-producing contacts. This information may be saved locally onthe clinician programmer or remotely to a server. This information mayalso be electronically transferred to the IPG later, for example in theform of an automatically-generated stimulation program that utilizes theinformation to configure its stimulation parameters. The user may alsobe allowed to manually adjust the information gathered herein byengaging the virtual button 1266. Alternatively, the user may discardthe information and begin a new round of CASP or alternative CASP.

FIG. 31 is a flowchart of a method 1400 for performing the alternativeCASP process discussed herein. The various steps of the method 1400 maybe performed by one or more electronic processors, for example theelectronic processors of a clinician programmer.

The method 1400 includes a step 1410 of ramping up a stimulation currentfor a plurality of contacts on a lead that is configured to be implantedinside, or attached to, a patient. In some embodiments, the ramping upcomprises ramping up the stimulation current from zero. In someembodiments, the ramping up comprises ramping up the stimulation currentfor all contacts on the lead.

The method 1400 includes a step 1420 of receiving patient feedback whilethe stimulation current is being ramped up. The patient feedbackindicates that the patient is beginning to feel stimulation. In someembodiments, step 1420 is carried out at least in part by an electronicpatient feedback device. For example, the patient feedback is receivedby the electronic patient feedback device, which then reports thepatient feedback to the clinician programmer.

The method 1400 includes a step 1430 of, in response to receiving thepatient feedback: recording an amplitude of the stimulation current thatresulted in the patient feedback; and dividing the plurality of contactsinto a plurality of groups.

The method 1400 includes a step 1440 of activating the plurality ofcontacts one group at a time. The respective amplitudes of thestimulation currents of the contacts in each group are set to therecorded amplitude. In some embodiments,

The method 1400 includes a step 1450 of determining, for each activatedgroup of contacts, whether the patient is able to feel stimulation whilesaid group of contacts is being activated. In some embodiments, the step1450 comprises receiving further patient feedback via the electronicpatient feedback device while at least one of the groups of contacts isbeing activated.

The method 1400 includes a step 1460 of, in response to a determinationthat a target group of contacts causes the patient to feel stimulation:sub-dividing the target group of contacts into a plurality ofsub-groups.

The method 1400 includes a step 1470 of repeating the dividing, theactivating, the determining, and the sub-dividing one or more timesuntil one or more contacts that caused the patient to feel stimulationare identified.

The method 1400 includes a step 1480 of assigning the recorded amplitudeas a perception threshold for the identified one or more contacts.

It is understood that the method 1400 may include additional steps thatmay be performed before, during, or after the steps 1410-1480 discussedabove. For example, in some embodiments, the method 1400 furtherincludes the following steps: before the ramping up, performing animpedance sweep for all contacts on the lead; determining which contactshave connections problems based on the impedance sweep; and selectingcontacts that do not have connection problems as the plurality ofcontacts for which the ramping up is to be performed.

As another example, in some embodiments, the method 1400 furtherincludes the following steps: repeating the ramping up, the receiving ofthe patient feedback, the recording of the amplitude, the dividing, theactivating, the determining, the sub-dividing, the repeating, and theassigning one or more cycles until respective perception thresholds havebeen assigned for all contacts in the plurality of contacts. For eachnew cycle: the ramping up comprises resuming the ramping up of thestimulation current from the recorded amplitude from a previous cycle;and the one or more contacts whose perception thresholds have beenassigned from the previous cycle are excluded from the new cycle. Insome embodiments, the method 1400 further includes, after the respectiveperception thresholds have been assigned for all contacts in theplurality of contacts, identifying a subset of the contacts that produceParesthesia for the patient. In some embodiments, the method 1400further includes, developing a stimulation therapy for treating thepatient based on at least one of: the subset of the contacts thatproduce Paresthesia for the patient or the respective perceptionthresholds assigned to each contact. In some embodiments, the method1400 further includes, displaying, through the graphical user interface,the contacts that are being ramped up with a first visualcharacteristic; displaying, through the graphical user interface, thecontacts for which the respective perception thresholds have beendetermined with a second visual characteristic; and displaying, throughthe graphical user interface, the contacts that produce Paresthesia witha third visual characteristic; wherein the first, second, and thirdvisual characteristics are different from one another. For reasons ofsimplicity, additional steps of the method 1400 are not specificallydiscussed herein.

For the CASP and alternative CASP processes discussed above, the rampingup of the stimulation current need not be from zero. Instead, a non-zerostarting value that is customized to the patient may be used to beginthe ramping up process in CASP. For example, in an intra-op procedure,the healthcare professional may determine what the customized non-zerostarting value for CASP should be based on the patient's response tostimulation. In more detail, suppose a lead such as the lead 1210(discussed above with reference to FIG. 26) having twelve contacts isimplanted inside the patient (e.g., along or near the spinal cord). Toget a rough idea of what level of stimulation is needed to stimulate thepatient, the healthcare professional may apply test stimulation with thetop electrode 1220, or the bottom electrode 1231, or one of the middleelectrodes 1225 or 1226, or combinations thereof.

Suppose the top electrode 1220 is used, the stimulation currentamplitude delivered through that top electrode 1220 may be ramped upfrom a low value (such as 0.5 mA) toward a predefined maximum limit(e.g., 10 mA). The stimulation current may be steadily ramped up untilthe patient indicates a response to the test stimulation. The patientresponse may be done via the PFD 145 discussed above, or via verbal orphysical feedback from the patient directly. Note that the patient'sresponse to the test stimulation may not necessarily correspond to the“correct” or target area of stimulation. For example, the goal of thestimulation therapy is to treat the patient's lower left leg, but thepatient may be indicating that he feels something in his right arm. Thisindicates that the lead has not been implanted correctly. Thus, thehealthcare professional will have to adjust the lead location andre-apply the test stimulation.

During this process discussed above, the healthcare professional may getan idea of what value of stimulation current is likely to trigger aresponse from the patient, even if the response is not at the targetarea. For example, suppose that at 1.5 mA of stimulation from the topelectrode 1220, the patient responds to the stimulation (intending totarget the lower left leg) by informing the healthcare professional thathe is feeling something in the right arm. After the lead has beenrepositioned, or perhaps the bottom electrode 1231 has been used todeliver the test stimulation without repositioning the lead, the patientnow indicates that he is experiencing something in his left arm at 1.4mA of stimulation. Eventually, the patient may respond that he isfeeling something in his lower left leg at 1.6 mA of test stimulationout of the middle electrode 1225. The healthcare professional maydetermine that the patient is likely to respond to stimulation around1.4 mA-1.6 mA. Accordingly, the healthcare professional may specify thatthe non-zero starting value for CASP should be set near 1.4 mA or 1.6mA. In some embodiments, the non-zero starting value for CASP may be setas the lowest of the various stimulation current values that triggered apatient response, which in this above example is 1.4 mA. In otherembodiments, the non-zero starting value for CASP may be set as theaverage of the various stimulation current values that triggered apatient response, which in this above example is 1.5 mA. In yet otherembodiments, the non-zero starting value for CASP may be either thelowest value or the average value subtracted by a predefined number(e.g., 0.2 mA). Thus, the non-zero starting value for CASP may be 1.4mA−0.2 mA=1.2 mA, or it may be 1.5 mA−0.2 mA=1.3 mA.

In all of these embodiments, the non-zero starting value for CASP isstill customized to the patient, since these values are derived based onthe patient's responses to test stimulation. This would vary frompatient to patient, since another patient may respond to an entirelydifferent set of stimulation current amplitudes.

In some embodiments, the user interface 1200 of the clinician programmerallows the healthcare professional to manually specify the non-zerostarting value for CASP. As shown in FIG. 32, the healthcareprofessional may manually type in the non-zero starting value for CASP(such as 1.4 mA) into an entry field 1500, based on the testing resultsfrom the intra-op lead placement. Alternatively, the clinicianprogrammer may record these different results discussed above, includingthe patient's responses and their corresponding stimulation currentamplitudes. The clinician programmer may then automatically calculateand recommend a starting value (e.g., 1.5 mA) for CASP in another entryfield 1510, also shown in FIG. 32. The recommended non-zero startingvalue for CASP may be calculated by taking the lowest of the stimulationcurrent values that triggered a patient response, or an average of thestimulation current values that triggered a patient response, or thelowest value or average value subtracted by a predefined number, asdiscussed above. Furthermore, the user interface 1200 may allow thehealthcare professional to manually adjust the starting value for CASPvia a virtual control mechanism 1550, where an up arrow increases thestarting value for CASP by a predefined step (e.g., 0.1 mA), and a downarrow decreases the starting value for CASP by the predefined step.

In some other embodiments, a closed loop system may be used to determinethe non-zero starting value for performing CASP. In more detail, sensingelectrodes may be used to sense evoked potentials generated in responseto electrical stimulation, where the evoked potentials serve as anindication that the patient is about to feel the electrical stimulation(or is feeling the stimulation). An evoked potential or evoked potentialsignal is an integrated measurement of the conducted action potentialsof a collection of nerves in response to stimulation. Among otherthings, the evoked potential signal can reflect the number of neuronsactivated, the fiber diameter of neurons that have been activated, theconduction velocity of the activated neurons, etc. For the purposes ofthe present disclosure, the terms “evoked potentials” and “actionpotentials” or “evoked action potentials” may be used interchangeably.

FIG. 33A illustrates a simplified waveform of stimulation currentamplitude versus time, FIG. 33B illustrates a simplified waveform ofevoked potential versus time, and FIG. 33C illustrates a simplifiedwaveform of evoked potential amplitude versus stimulation currentamplitude.

Test stimulation is generated by a pulse generator (such as an IPG or anEPG) and delivered to a target nerve site via one or more electrodes ofthe lead 1210, for example via the top electrode 1220, or the bottomelectrode 1231, or one of the middle electrodes 1225 or 1226, orcombinations thereof. As a part of this process, a stimulation parameter(e.g., stimulation current) is being ramped up in value. For example,the ramping up may include steadily increasing the value of thestimulation parameter by a small predetermined step size (0.1 mA). Inthe illustrated embodiment, the stimulation parameter is stimulationpulse (as an electrical current) amplitude. In other embodiments, thestimulation parameter may include a pulse width.

As shown in FIG. 33C, in a first region 1600, as the value of thestimulation parameter is being ramped up, the evoked potential barelychanges initially. In other words, up to a first threshold T1, theevoked potential may appear noise-like. However, after the firstthreshold T1, the evoked potential begins increasing rapidly asstimulation amplitude increases, either in a linear manner or anexponential manner. This is shown in region 1610 in FIG. 33C. Thisbehavior may continue for a while, until another threshold T2 isreached, after which the evoked action potential does not increase much(if at all) even as stimulation amplitude continues to increase. This isshown in region 1620 in FIG. 33C.

According to the various aspects of the present disclosure, the amountof evoked potential in response to the stimulation is detected bysensing electrodes (discussed in more detail below) and communicatedback to the clinician programmer. Based on the behavior of the detectedevoked potential, the clinician programmer can evaluate whether theregion 1610 has been reached. For example, if the amplitude of theevoked potential increases significantly (e.g., greater than 20%) fromthe previous measurement, then it may be deemed that the region 1610 hasbeen reached, or that the threshold T1 has been crossed over. Thestimulation amplitude corresponding to T1 is then recorded by theclinician programmer as a non-zero starting value for CASP.

The rationale for basing the non-zero starting value for CASP as afunction of the evoked potential is that the rapid increase of theevoked potential (e.g., the beginning of region 1610) is generallyassociated with the perception threshold in which the patient actuallyexperiences stimulation. In some cases, the evoked potential may beginincreasing rapidly in region 1610 right before the patient actuallyexperiences stimulation. In other cases, the rapid increase in evokedpotential may occur almost simultaneously with the patient experiencingstimulation. Thus, the value of the stimulation amplitude at T1 (i.e.,beginning of the region 1610) can be loosely used as a surrogate of theperception threshold. In some embodiments, to ensure that the perceptionthreshold is not missed, the clinician programmer may set the non-zerovalue for starting CASP to be a value slightly lower than the value ofthe stimulation amplitude corresponding to T1. For example, if thestimulation amplitude corresponding to T1 is 1.5 mA, then the clinicianprogrammer may set the starting value for CASP to be 0.2 (or 0.1, or0.3, or another suitable number) less than 1.5 mA, which would result ina value of 1.3 mA in this example.

Again, regardless of whether the starting value for CASP is set to bethe value (1.5 mA) directly corresponding to T1, or another value thatis a function of the value corresponding to T1 (e.g., 1.5−0.2=1.3 mA),that value is still customized for that specific patient. Each patientmay exhibit a different “evoked potential VS stimulation” response. Inother words, the graph shown in FIG. 33C may vary from patient topatient. Thus, the measured evoked potential and the stimulationamplitude value corresponding thereto may be unique to the patient andas such can be used as a customized starting value for CASP for thatpatient.

The configuration for performing the “closed loop” evoked potentialmeasurement is now discussed in more detail. In some embodiments, thesensing electrodes are the electrodes on the lead 1210 that are notbeing configured to deliver electrical stimulation. Thus, if the topelectrode 1220 is being configured to deliver electrical stimulation,then the rest of the electrodes 1221-1231 may each be used as a sensingelectrode. Similarly, if the top electrode 1220, the bottom electrode1231, and the middle electrode 1225 are all configured as stimulatingelectrodes, then the rest of the electrodes 1221-1224 and 1226-1230 mayeach be used as a sensing electrode. In conjunction with measurementcircuitry, these sensing electrodes may sense the evoked actionpotentials and communicate the sensed evoked potentials back to theclinician programmer. In some embodiments, the measurement circuitry mayinclude amplifiers and may be implemented within the stimulation ASIC230 of the IPG discussed above with reference to FIG. 8. In otherembodiments, the measurement circuitry may be implemented separatelyfrom the ASIC 230, but may be still implemented inside the IPG. In yetother embodiments, the measurement circuitry may be implemented on thelead itself, for example on the lead 1000 or 1210 discussed above.

In some embodiments, the sensing electrodes may also include electrodesseparate from the electrodes on a lead (e.g., separate from theelectrodes 1220-1231 on the lead 1210). Referring now to FIG. 33, one ormore sensing electrodes 1700 (separate from the stimulation lead) may bedeployed on different regions of the patient's body. These sensingelectrodes 1700 can also sense the evoked action potentials and send thesensing result to the clinician programmer, for example through sensingcircuitry implemented on the sensing electrodes 1700 or on a separateelectronic device 1710 coupled to the sensing electrodes 1700. Inaddition to sensing circuitry, the electronic device 1710 includestelecommunication circuitry such as transceivers configured to conducttelecommunications under Wi-Fi, Bluetooth, or MICS, so that it cancommunicate with the clinician programmer accordingly. As such, theclinician programmer may still determine the value of the stimulationamplitude that caused the evoked potential to rapidly increase, and thatvalue of the stimulation amplitude (or a function thereof) may be usedas a customized starting value for CASP.

FIG. 35 is a flowchart of a method 2000 for performing acomputer-assisted stimulation programming process discussed herein. Thevarious steps of the method 2000 may be performed by one or moreelectronic processors, for example the electronic processors of aclinician programmer.

The method 2000 includes a step 2010 of determining a non-zero startingvalue for ramping up a stimulation parameter for an electricalstimulation to be delivered to a patient. The non-zero starting value iscustomized to the patient. In some embodiments, the determining thecustomized starting value comprises the following steps: increasing thestimulation parameter for at least one electrode contact on the leadfrom a value lower than the customized starting value; detecting anevoked action potential in response to the increasing of the stimulationparameter; and recording a value of the stimulation parameter thatcorresponds to the evoked action potential as the customized startingvalue. In some embodiments, the at least one electrode contact comprisesa top electrode contact on the lead, a bottom electrode contact on thelead, or a middle electrode contact on the lead. In some embodiments,the determining the non-zero starting value comprises one of: receivinga specified non-zero starting value from a healthcare professional, orcalculating the non-zero starting value based on one or more patientresponses to test stimulation.

The method 2000 includes a step 2020 of causing a pulse generator togenerate the electrical stimulation to be delivered to the patient via alead implanted inside the patient by causing the pulse generator togenerate the electrical stimulation comprises causing the pulsegenerator to ramp up, from the determined non-zero starting value andtoward a predefined maximum limit value, the stimulation parameter for aplurality of electrode contacts on the lead. In some embodiments, thecausing the pulse generator to ramp up the stimulation parametercomprises causing the pulse generator to ramp up a stimulation currentas the stimulation parameter.

The method 2000 includes a step 2030 of receiving feedback from thepatient in response to the ramping up of the stimulation parameter. Thefeedback may be received via an electronic patient feedback device, suchas the PFD discussed above with reference to FIGS. 1 and 5-7.

The method 2000 includes a step 2040 of determining, based on theramping up and the received feedback from the patient, a perceptionthreshold for each of the plurality of electrode contacts. Theperception threshold is a value of the stimulation parameter thatcorresponds to the patient feeling the electrical stimulation.

The method 2000 includes a step 2050 of identifying, based on thedetermined perception thresholds, a subset of the electrode contactsthat produce paresthesia for the patient, or a subset of the electrodecontacts that produce one or more of the following physiologicalresponses from the patient: an anal sphincter contraction response, abellows response, and a toes response.

It is understood that the method 2000 may include additional steps thatmay be performed before, during, or after the steps 2010-2050 discussedabove. For example, in some embodiments, the method 200 further includesa step of developing a stimulation protocol based on the perceptionthreshold or on the paresthesia.

The CASP process and alternative CASP process discussed above offersvarious advantages. Of course, it is understood that differentembodiments may offer different advantages, not all advantages arenecessarily discussed herein, and no particular advantage is requiredfor all embodiments. One of the advantages is that the CASP andalternative CASP processes can identify the optimal contacts fortreating pain. For example, the pain area sweep discussed above canpinpoint the one or more contacts that offer the best pain relief in thetarget pain areas.

Another advantage is that the perception threshold for each contact maybe quickly determined. Ideally, one or two contacts may be all that areneeded to provide sufficient electrical stimulation to treat each areaof pain for the patient. If a successful surgery is performed, all thecontacts on the lead should be placed at or near the target nervetissues that offer pain relief when stimulated (e.g., causingParesthesia). Suppose contacts 5 and 6 in a lead containing 12 contactsare identified as the best contacts for producing pain relief. As such,contacts 5 and 6 are activated to provide electrical stimulation.However, over time, the positioning for the contacts on the lead maymigrate or drift. When this occurs, the contacts 5 and 6 may no longerbe the best pain-relief contacts. For example, they may have driftedaway from the target nerve tissue. Therefore, new best pain-reliefcontacts need to be identified. Suppose contacts 2 and 3 are nowidentified as the best pain-relief contacts. At this point, the suitablestimulation current for contacts 2 and 3 are already known, becausetheir respective perception thresholds had already been determined inthe CASP process performed during exploratory or permanent surgery.Alternatively, the remaining contacts may each be activated with theirrespective previously-determined perception threshold stimulationcurrents in order to pinpoint the new best pain-relief contacts.Regardless, the CASP and alternative CASP processes result in a map orchart of the “correct” amount of stimulation current to effectivelystimulate each contact (for the contact to produce a stimulationsensation), and this map/chart facilitates the creation of newstimulation protocols and/or the modification of existing stimulationprotocols.

Yet another advantage is that the CASP and alternative processes can beperformed in a relatively short period of time (e.g., a few minutes),because the algorithms discussed above can be quickly executed by thecomputer processors of the clinician programmer or another suitableportable electronic device.

A further advantage is that starting CASP from a non-zero value willsignificantly reduce the amount of time needed to perform CASP. Ratherthan starting from zero, the present disclosure determines a non-zerostarting value for CASP that is customized to the patient. Thiscustomized value should be pretty close to the value that corresponds tothe perception threshold. For example, suppose the perception thresholdis 2 mA. Starting CASP from zero and incrementing the current amplitudein 0.1 mA increments will take 20 iterations before the perceptionthreshold is reached. According to the present disclosure, CASP may bestarted at a value greater than zero and lower than the perceptionthreshold, for example at 1.5 mA based on either the specification fromthe healthcare professional or based on the closed loop system usingsensing electrodes to sense the evoked potential. Now only 5 iterationsare needed to reach the perception threshold. The significantly reducedtime needed to perform CASP results in greater satisfaction for both thepatient and the healthcare professional.

It is understood that, in addition to spinal cord stimulation, CASP mayalso be used in other neuromodulation contexts, such as peripheral nervestimulation, pelvic (or sacral) nerve stimulation, or deep brainstimulation. For example, rather than using CASP to fine tune thestimulation therapy for treating patient (e.g., finding the bestelectrodes for generating comfortable paresthesia), CASP may be used ina pelvic stimulation context to identify electrodes or fine tune thetherapy for generating the desired physiological responses, such as analsphincter contraction or bellows and toes responses, which are discussedin greater detail in U.S. patent application Ser. No. 14/537,293, filedon Nov. 12, 2014, and entitled “IPG CONFIGURED TO DELIVER DIFFERENTPULSE REGIMES TO DIFFERENT LEADS” to Kaula et. al., the disclosure ofwhich is hereby incorporated by reference in its entirety.

The foregoing has outlined features of several embodiments so that thoseskilled in the art may better understand the detailed description thatfollows. Those skilled in the art should appreciate that they mayreadily use the present disclosure as a basis for designing or modifyingother processes and structures for carrying out the same purposes and/orachieving the same advantages of the embodiments introduced herein.Those skilled in the art should also realize that such equivalentconstructions do not depart from the spirit and scope of the presentdisclosure, and that they may make various changes, substitutions andalterations herein without departing from the spirit and scope of thepresent disclosure.

What is claimed is:
 1. An electronic device for performing acomputer-assisted stimulation programming of an implantable medicaldevice, the electronic device comprising: a memory storage componentconfigured to store programming code; and a computer processorconfigured to execute the programming code to perform the followingtasks: determining a non-zero starting value for ramping up astimulation parameter for an electrical stimulation to be delivered to apatient, the non-zero starting value being customized to the patient;causing a pulse generator to generate the electrical stimulation to bedelivered to the patient via a lead implanted inside the patient,wherein the causing the pulse generator to generate the electricalstimulation comprises causing the pulse generator to ramp up, from thedetermined non-zero starting value and toward a predefined maximum limitvalue, the stimulation parameter for a plurality of electrode contactson the lead; receiving feedback from the patient in response to theramping up of the stimulation parameter, the feedback being received atleast in part via an electronic patient feedback device; anddetermining, based on the ramping up and the received feedback from thepatient, a perception threshold for each of the plurality of electrodecontacts, the perception threshold being a value of the stimulationparameter that corresponds to the patient feeling the electricalstimulation.
 2. The electronic device of claim 1, wherein thedetermining the customized starting value comprises: increasing thestimulation parameter for at least one electrode contact on the leadfrom a value lower than the customized starting value; detecting anevoked action potential in response to the increasing of the stimulationparameter; and recording a value of the stimulation parameter thatcorresponds to the evoked action potential as the customized startingvalue.
 3. The electronic device of claim 2, wherein the at least oneelectrode contact comprises a top electrode contact on the lead, abottom electrode contact on the lead, or a middle electrode contact onthe lead.
 4. The electronic device of claim 1, wherein the determiningthe non-zero starting value comprises one of: receiving a specifiednon-zero starting value from a healthcare professional, or calculatingthe non-zero starting value based on one or more patient responses totest stimulation.
 5. The electronic device of claim 1, wherein thecausing the pulse generator to ramp up the stimulation parametercomprises causing the pulse generator to ramp up a stimulation currentas the stimulation parameter.
 6. The electronic device of claim 1,wherein the tasks further comprise: identifying, based on the determinedperception thresholds, a subset of the electrode contacts that produceparesthesia for the patient; or identifying, based on the determinedperception thresholds, a subset of the electrode contacts that produceone or more of the following physiological responses from the patient:an anal sphincter contraction response, a bellows response, and a toesresponse.
 7. A medical system, comprising: a lead configured to deliverelectrical stimulation to a patient via one or more of a plurality ofcontacts located on the lead; a pulse generator to which the lead iscoupled, wherein the pulse generator is configured to generate theelectrical stimulation; and an electronic device telecommunicativelycoupled to the pulse generator, wherein the electronic device isconfigured to program the pulse generator to generate the electricalstimulation, and wherein the electronic device includes: a memorystorage component configured to store computer instructions; and aprocessor component configured to execute the computer instructions;wherein the computer instructions, when executed by the processorcomponent, perform the following tasks: determining a non-zero startingvalue for ramping up a stimulation parameter for an electricalstimulation to be delivered to a patient, the non-zero starting valuebeing customized to the patient; causing the pulse generator to generatethe electrical stimulation to be delivered to the patient via the lead,wherein the causing the pulse generator to generate the electricalstimulation comprises causing the pulse generator to ramp up, from thedetermined non-zero starting value and toward a predefined maximum limitvalue, the stimulation parameter for a plurality of electrode contactson the lead; receiving feedback from the patient in response to theramping up of the stimulation parameter; and determining, based on theramping up and the received feedback from the patient, a perceptionthreshold for each of the plurality of electrode contacts, theperception threshold being a value of the stimulation parameter thatcorresponds to the patient feeling the electrical stimulation.
 8. Themedical system of claim 7, wherein the determining the customizedstarting value comprises: increasing the stimulation parameter for atleast one electrode contact on the lead from a value lower than thecustomized starting value; detecting an evoked action potential inresponse to the increasing of the stimulation parameter; and recording avalue of the stimulation parameter that corresponds to the evoked actionpotential as the customized starting value.
 9. The medical system ofclaim 8, wherein the at least one electrode contact comprises a topelectrode contact on the lead, a bottom electrode contact on the lead,or a middle electrode contact on the lead.
 10. The medical system ofclaim 7, wherein the determining the non-zero starting value comprisesone of: receiving a specified non-zero starting value from a healthcareprofessional, or calculating the non-zero starting value based on one ormore patient responses to test stimulation.
 11. The medical system ofclaim 7, wherein the causing the pulse generator to ramp up thestimulation parameter comprises causing the pulse generator to ramp up astimulation current as the stimulation parameter.
 12. The medical systemof claim 7, wherein the tasks further comprise: identifying, based onthe determined perception thresholds, a subset of the electrode contactsthat produce paresthesia for the patient; or identifying, based on thedetermined perception thresholds, a subset of the electrode contactsthat produce one or more of the following physiological responses fromthe patient: an anal sphincter contraction response, a bellows response,and a toes response.
 13. The medical system of claim 7, The medicalsystem of claim 8, further comprising an electronic patient feedbackdevice configured to detect the patient feedback and communicate thedetected patient feedback to the electronic device.
 14. A method forperforming a computer-assisted stimulation programming of an implantablemedical device, comprising: determining a non-zero starting value forramping up a stimulation parameter for an electrical stimulation to bedelivered to a patient, the non-zero starting value being customized tothe patient; causing a pulse generator to generate the electricalstimulation to be delivered to the patient via a lead implanted insidethe patient, wherein the causing the pulse generator to generate theelectrical stimulation comprises causing the pulse generator to ramp up,from the determined non-zero starting value and toward a predefinedmaximum limit value, the stimulation parameter for a plurality ofelectrode contacts on the lead; receiving feedback from the patient inresponse to the ramping up of the stimulation parameter, the feedbackbeing received via an electronic patient feedback device; anddetermining, based on the ramping up and the received feedback from thepatient, a perception threshold for each of the plurality of electrodecontacts, the perception threshold being a value of the stimulationparameter that corresponds to the patient feeling the electricalstimulation.
 15. The method of claim 14, wherein the determining thecustomized starting value comprises: increasing the stimulationparameter for at least one electrode contact on the lead from a valuelower than the customized starting value; detecting an evoked actionpotential in response to the increasing of the stimulation parameter;and recording a value of the stimulation parameter that corresponds tothe evoked action potential as the customized starting value.
 16. Themethod of claim 15, wherein the at least one electrode contact comprisesa top electrode contact on the lead, a bottom electrode contact on thelead, or a middle electrode contact on the lead.
 17. The method of claim14, wherein the determining the non-zero starting value comprises oneof: receiving a specified non-zero starting value from a healthcareprofessional, or calculating the non-zero starting value based on one ormore patient responses to test stimulation.
 18. The method of claim 14,wherein the causing the pulse generator to ramp up the stimulationparameter comprises causing the pulse generator to ramp up a stimulationcurrent as the stimulation parameter.
 19. The method of claim 14,further comprising: identifying, based on the determined perceptionthresholds, a subset of the electrode contacts that produce paresthesiafor the patient.
 20. The method of claim 14, further comprising:identifying, based on the determined perception thresholds, a subset ofthe electrode contacts that produce one or more of the followingphysiological responses from the patient: an anal sphincter contractionresponse, a bellows response, and a toes response.